Hi,

I defined some concrete classes inheriting from a generic class like this:

class Controller1: NSFetchedResultsController<NSManagedObject> {}
class Controller2: NSFetchedResultsController<NSManagedObject> {}

And I assign them a shared delegate, and in the delegate method:

func controllerWillChangeContent(_ controller: 
NSFetchedResultsController<NSFetchRequestResult>)

I want to test the concrete type of controller, doing things differently for 
Controller1 and Controller2.

But doing the following gives me a warning: Cast from 
'NSFetchedResultsController<NSFetchRequestResult>' to unrelated type 
'Controller1’ always fails

switch controller {
case is Controller1:
        // ...
default:
        break
}

I wonder what’s the correct way to check the concrete type?

Regards,
Glen
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to