如何为CoreData模型(NSManagedObject)创建接口?

时间:2017-03-11 09:54:40

标签: ios swift core-data firebase

我正在尝试从CoreData迁移到FireBase。因此,我的模型需要跨应用程序的共享界面。

我有一个FTEvent课......

@objc(FTEvent)
public class FTEvent: FTEventBase {

}

继承自FTEventBase

@objc(FTEventBase)
public class FTEventBase: NSManagedObject {

}

现在我有了一个名为FTRecord的新类,它应该与上面的FTEvent共享一个接口。

class FTRecord  {
    let key: String
    var notes: String
    var rating: Int
    var time: String
    var timestamp: Double
}

现在问题就出现了。我显然可以创建一个协议作为FTRecord和FTEvent的接口。

protocol IEvent {
    var is_deleted: Bool? { get set }
    var notes: String? { get set }
    var date: Date? { get set }
    var timestamp: Double? { get set }
    var rating: Int? { get set }
}

但这变得非常困难,因为CoreData中的Bool实际上是一个NSNumber。日期是NSDate。由于这些类型的差异,我无法创建一个通用接口。

有什么建议吗,我怎么能做到?

0 个答案:

没有答案