尝试修改领域对象时出现错误。
这是一个简单的类,实际上只有一条记录。
class User: Object{
@objc dynamic var id = UUID().uuidString
@objc dynamic var name:String = ""
@objc dynamic var email:String = ""
.....
static func getInfo() -> User? {
do {
let realm = try Realm()
return realm.objects(User.self).first
} catch {
return nil
}
}
}
我调用数据:
var user = User.getInfo()
现在,当我尝试对其进行修改时,出现以下错误。
user.name = "test"
***由于未捕获的异常“ RLMException”而终止应用程序,原因:“试图在写事务之外修改对象-首先在RLMRealm实例上调用beginWriteTransaction。”
我在做什么错?谢谢。
谢谢。
答案 0 :(得分:1)
user
是一个Realm实例。对user
的任何修改都必须在realm.write块内。
try! realm.write {
user.name = "test"
}