Swift通用类作为委托
在swift中使用generics类作为委托时遇到了一个问题。 例如我试图使用通用的NSFetchedResultsDelegate定义为:
class FetchedTableController<T:NSManagedObject> : NSFetchedResultsControllerDelegate
在课堂上,我设置了NSFetchedResultsController并将代理设置为“self”。 但由于某种原因,委托方法从未被调用过。 当我删除类的generics部分,委托按预期调用:
class FetchedTableController : NSFetchedResultsControllerDelegate
有没有解决scheme使用generics类作为委托?
这似乎是固定在Xcode7。 我可以成功地使用generics类作为NSFetchedResultsControllerDelegate,UITableViewControllerDelegate等…你甚至不需要添加@objc前缀的类。
但是,类仍然有一些NSObject超类。