我想在Realm中实现PFUser.currentUser
功能,当我更新当前用户的字段时,我会收到异常,特别是RLMException(@"Object has been deleted or invalidated.")
我当前的用户变量如下:
static var currentUser: User? {
get { return Persistence.sharedStack.fetch(User.self).first()?.value?.first }
set {
if let model = newValue {
Persistence.sharedStack.insertModel(model)
}
}
}
我不明白是什么原因导致用户失效或被删除。
答案 0 :(得分:1)
Realm对象只能通过以下两种方式之一使其无效:
Realm
实例已在用户代码(您的代码)中明确调用invalidate()
。Realm.delete(_:)
或Realm.deleteAll()
由用户代码中的任何线程(您的代码)显式删除Realm对象。所以为了避免命中"对象已被删除或无效"例外情况,请不要执行上面列出的两项操作,导致User
对象失效,并且您将全部设置完毕!