Ios RealmSwift:libc++;abi.dylib:以NSException类型的未捕获异常终止
我可以事先保存,但我想异步保存 用户是一个类/对象。每当我尝试在“.async”线程中运行它时,它都会失败并出现错误:Ios RealmSwift:libc++;abi.dylib:以NSException类型的未捕获异常终止,ios,realm,Ios,Realm,我可以事先保存,但我想异步保存 用户是一个类/对象。每当我尝试在“.async”线程中运行它时,它都会失败并出现错误: libc++abi.dylib:以NSException类型的未捕获异常终止 在线: 让userObjects=self.realm.objects(User.self) 代码: let user = User(dictionary: element as? [String : Any]) print("entering dispatchq
libc++abi.dylib:以NSException类型的未捕获异常终止
在线:
让userObjects=self.realm.objects(User.self)
代码:
let user = User(dictionary: element as? [String : Any])
print("entering dispatchqueue realm")
DispatchQueue(label: "background").async {
autoreleasepool {
let userObjects = self.realm.objects(User.self)
do {
try! self.realm.write {
self.realm.add(user!, update: true)
}
}
catch {
print("error saving to realm")
// Handle the error case
}
}
}
它是线程安全的吗
编辑:
通过移动let realm=try,我可以让它工作!Realm()
在异步块内移动让Realm=try!Realm()
位于async()块内
let user=user(字典:元素为?[String:Any])
移动let realm=try!Realm()
位于async()块内
let user=user(字典:元素为?[String:Any])
你找到解决办法了吗?你找到解决办法了吗?
print("entering dispatchqueue realm")
DispatchQueue(label: "background").async {
**let realm = try! Realm()**
autoreleasepool {
let userObjects = self.realm.objects(User.self)
do {
try! self.realm.write {
self.realm.add(user!, update: true)
}
}
catch {
print("error saving to realm")
// Handle the error case
}
}
}