如何斯威夫特编写扩展为NSFetchedResultsController 4

问题描述:

我试图写一个简单的扩展,NSFetchedResultsController类斯威夫特4如何斯威夫特编写扩展为NSFetchedResultsController 4

这是我第一次尝试 - 这在斯威夫特3工作:

public extension NSFetchedResultsController 
{ 
    public func sectionCount() -> Int 
    { 
     if self.sections == nil 
     { 
      return 0 
     } 

     return self.sections!.count 
    } 
} 

但我得到这个编译错误在Xcode 9测试版2与雨燕4:

一个通用的Objective-C类的扩展不能在侏儒访问类的 泛型参数ime

我试过其他的变化无济于事。请注意,我可以创建绑定到与resultType匹配的特定类型NSManagedObject的扩展;但这有一个缺点,我需要为NSFetchedResultsController使用的每个管理对象类型创建一个扩展。

最新的Swift 4文档似乎没有解释得很好。

+0

您是否找到了解决方案?我有同样的问题。 –

我想我找到了答案。 该功能需要可用于Objective-C。

将@objc添加到func应该删除编译错误。至少它为我做了!