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)
}
}
}
此時我可以在主線程中使用該對象。問題是當我必須保存另一個在此之後提取的對象時,並且需要先前保存的對象作爲屬性(關係)。我收到「無法從其他領域添加對象」錯誤。
這是使用先前保存的對象作爲另一個屬性的好方法嗎?