【发布时间】:2015-02-09 08:58:04
【问题描述】:
有人可以向我解释为什么下面的操场代码给我错误
EventEntity与NSManagedObject不同
import UIKit
import CoreData
class Table<T: NSManagedObject> {
func toFetchedResultsController() -> FetchedResultsController<T> {
return FetchedResultsController<T>()
}
}
class EventEntity: NSManagedObject {
}
class FetchedResultsController<T: NSManagedObject> {
}
class Factory<T: NSManagedObject>: NSObject {
var fetchedResultsController: FetchedResultsController<T>
init(fetchedResultsController: FetchedResultsController<T>) {
self.fetchedResultsController = fetchedResultsController
super.init()
}
}
class TableViewDataSource: NSObject {
init(factory: Factory<NSManagedObject>) {
super.init()
}
}
var dataSource: TableViewDataSource
let fetchedResultsController = Table<EventEntity>().toFetchedResultsController()
let factory = Factory(fetchedResultsController: fetchedResultsController)
dataSource = TableViewDataSource(factory: factory)
我在使用 Swift 开发的应用程序时遇到了问题。我创建了这个游乐场来重现这个问题。
这个错误的原因是什么? EventEntity 实际上是 NSManagedObject 的子类,T 是一个泛型,指定了 NSManagedObject 类要求。
谢谢!
【问题讨论】:
-
感谢您抽出宝贵时间将您的问题归结为能够可靠地重现问题的少量代码。
标签: swift generics core-data subclass nsmanagedobject