Swift 4 Realm Swift 对象

标签 swift realm

我尝试在 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/

相关文章:

swift - Realm Swift 结果在索引处获取对象

ios - 如何制作具有动态高度的自定义 UITableViewCell?

swift - 无法将类型 '(String) -> Void' 的值转换为预期参数类型 '((AnyObject!) -> Void)!'

ios - 在前置摄像头 iOS Swift 中自动保存和捕捉照片

java - Realm 中的 allObjects() 方法是否已弃用?

android - 插入或更新从改造到 Realm 的值

android - Android lib + 应用程序中的多个 Realm 实例

android - Realm,在字符串列表中搜索

ios - swift:tableview 返回动画

swift - 如何呈现带有文本字段的 UIAlertController,但该文本字段不能是第一响应者?