1
我在使用Realm时遇到了一些问题。基本上,我使用Alamofire从背景中的API中获取对象,将它们映射到ObjectMap Objectper,并在后台保存Realm,然后返回主线程以显示它们。我知道境界对象是线程限制,如果他们管理,但我仍然感到困惑如何使用他们,他们得救后:Swift Realm将预取对象保存到新对象中
1)获取的数据,映射它,并将其保存:
network.makeCallWith(urlRequest: objCreation, objectType: objType.self) { (response) in......
//.....
DispatchQueue.global(qos: .background).async {
do {
let realm = try Realm()
try realm.write {
for obj in objects { //obj in response
realm.add(obj,update: true)
}
}
} catch let error as NSError {
print(error)
}
DispatchQueue.main.async {
do {
let realm = try Realm()
let objects = realm.objects(T)
completion(Result.success(Array(objects)))
} catch let error as NSError {
print(error)
}
}
}
此时我可以在主线程中使用该对象。问题是当我必须保存另一个在此之后提取的对象时,并且需要先前保存的对象作为属性(关系)。我收到“无法从其他领域添加对象”错误。
这是使用先前保存的对象作为另一个属性的好方法吗?