添加更新为true的对象时的NSUnknownKeyException

时间:2016-05-21 22:07:44

标签: swift realm

所以我已经建模了一个对象

class Post: Object {
    let postId = RealmOptional<Int>()
    dynamic var postImage : PostImage?
    dynamic var postUser: User?

    override class func primaryKey() -> String? {
        return "postId"
    }
 }

我试图坚持这样:

let realm = try! Realm()
realm.beginWrite()
let post = Post()
post.postId.value = json["image"]["image_id"].intValue
realm.add(post, update: true)
try! realm.commitWrite()

然而,当对象是新对象但尚未存储时,我得到:

  

**由于未捕获的异常终止应用程序&#39; NSUnknownKeyException&#39;,原因:&#39; [valueForUndefinedKey:]:此类不是密钥值符号编码(null)。&#39 ;

我必须做错事,因为文档说明了Realms

public func add(object: Object, update: Bool = false)
如果没有主键的话,

将创建该对象。

任何帮助或指示赞赏!

1 个答案:

答案 0 :(得分:1)

你没有做错任何事。你发现了一个bug。我提交了issue并提交了一份PR来解决这个问题。