我尝试在 Swift 4 的应用程序中使用realmSwift,但出现错误。
public class Test : Object {
@objc dynamic var id: Int = 0
@objc dynamic var long: Double? = 0
convenience init(id: Int, long:Double?) {
self.init()
self.id = id
self.long = long
}
override public class func primaryKey() -> String {
return "id"
}
}
长变量行出错。
属性不能被标记为 @objc,因为它的类型无法在 Objective-C 中表示
感谢帮助
最佳答案
作为docs明确指出,数字类型不能简单地标记为Optional
,因为Optional
数字类型不能在Objective-C中表示。您需要使用RealmOptional
在Realm类中存储Optional
数字类型。
public class Test : Object {
@objc dynamic var id: Int = 0
let long = RealmOptional<Double>()
}
关于Swift 4 Realm Swift 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50950150/