我在 swift 中使用泛型类作为委托时遇到了问题。例如我尝试使用通用 NSFetchedResultsDelegate 定义为:
class FetchedTableController<T:NSManagedObject> : NSFetchedResultsControllerDelegate
在类中,我设置了一个 NSFetchedResultsController 并将委托设置为“self”。但由于某种原因,委托方法从未被调用。当我删除类的通用部分时,代表们按预期被调用:
class FetchedTableController : NSFetchedResultsControllerDelegate
有没有使用泛型类作为委托的解决方案?
这似乎在 Xcode7 中已修复。我可以成功使用泛型类作为 NSFetchedResultsControllerDelegate、UITableViewControllerDelegate 等...您甚至不需要向类添加 @objc 前缀。
然而,该类仍然必须有一些 NSObject 超类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)