我正在尝试从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。由于这些类型的差异,我无法创建一个通用接口。
有什么建议吗,我怎么能做到?