Swift-MyClass与NSManagedObject不同

Swift-MyClass与NSManagedObject不同,swift,generics,core-data,subclass,nsmanagedobject,Swift,Generics,Core Data,Subclass,Nsmanagedobject,有人能给我解释一下为什么下面的游乐场代码给了我这个错误吗 EventEntity与NSManagedObject 导入UIKit 导入CoreData 类表{ func toFetchedResultsController()->FetchedResultsController{ 返回FetchedResultsController() } } 类EventEntity:NSManagedObject{ } 类FetchedResultsController{ } 类工厂:NSObject{ v

有人能给我解释一下为什么下面的游乐场代码给了我这个错误吗

EventEntity
NSManagedObject

导入UIKit
导入CoreData
类表{
func toFetchedResultsController()->FetchedResultsController{
返回FetchedResultsController()
}
}
类EventEntity:NSManagedObject{
}
类FetchedResultsController{
}
类工厂:NSObject{
var fetchedResultsController:fetchedResultsController
init(fetchedResultsController:fetchedResultsController){
self.fetchedResultsController=fetchedResultsController
super.init()
}
}
类TableViewDataSource:NSObject{
初始化(工厂:工厂){
super.init()
}
}
变量数据源:TableViewDataSource
让fetchedResultsController=Table().toFetchedResultsController()
让工厂=工厂(fetchedResultsController:fetchedResultsController)
dataSource=TableViewDataSource(工厂:工厂)
我在Swift中开发的一个应用程序有问题。我创建这个游乐场是为了重现这个问题

这个错误的原因是什么
EventEntity
实际上是
NSManagedObject
的一个子类,
T
是指定
NSManagedObject
类要求的泛型


谢谢大家!

查看您的
TableViewDataSource
初始值设定项:

init(factory: Factory<NSManagedObject>) {
    super.init()
}

感谢您花时间将您的问题归结为少量代码,这些代码可靠地再现了问题。出于几个原因,我希望我的TableViewDataSource不使用泛型。这就是我创建“工厂”类的原因。它的意思是“中产阶级”。难道不可能吗?理想情况下,您应该能够将
工厂
传递给需要
工厂
的方法,但您不能。(此限制不适用于本机Swift类型:您可以毫无问题地将
数组
传递给需要
数组
的函数。)感谢Aaron抽出时间!
init(factory: Factory<NSManagedObject>) {
    super.init()
}
class TableViewDataSource<T: NSManagedObject>: NSObject {
    init(factory: Factory<T>) {
        super.init()
    }
}