在我的UITableViewController
的顶部是以下内容:
let queue = DispatchQueue(label: "background")
当任务被删除时,执行以下操作:
self.queue.async {
autoreleasepool {
let realm = try! Realm()
realm.beginWrite()
realm.delete(task)
do {
try realm.commitWrite()
} catch let error {
self.presentError()
}
}
}
然后我收到了以下错误信息:
由于在错误的线程中访问 Realm,程序终止并抛出了 realm::IncorrectThreadException 异常。
我该如何解决这个问题?
taskId
设置为 Realm 对象的主键,然后通过使用Realm.object(ofType:forPrimaryKey:)
在后台线程检索到对它的引用。 - TiM