在swift中使用泛型类作为委托时,我遇到了一个问题。例如,我尝试使用如下定义的通用NSFetchedResultsDelegate:
class FetchedTableController<T:NSManagedObject> : NSFetchedResultsControllerDelegate
在类中,我设置了一个NSFetchedResultsController并将委托设置为'self‘。但由于某些原因,委托方法从未被调用过。当我删除类的泛型部分时,委托被如期调用:
class FetchedTableController : NSFetchedResultsControllerDelegate
有没有使用泛型类作为委托的解决方案?
发布于 2015-11-15 02:59:34
这似乎在Xcode7中得到了解决。我可以成功地使用泛型类,如NSFetchedResultsControllerDelegate,UITableViewControllerDelegate等。您甚至不需要在类中添加@objc前缀。
然而,这个类仍然必须有一些NSObject超类。
https://stackoverflow.com/questions/26324105
复制相似问题