Java版本的Realm有一个非常有用的方法:
createOrUpdateAllFromJson(RealmObject,JSONArray)
它接受一个JSON对象数组,并将它们全部粘贴在数据库中,很好地处理了创建或更新逻辑。
iOS版本的Realm是否具有等效功能?如果没有,实现同等功能的最佳方法是什么?
最佳答案
不,在基于Cocoa的绑定中,此方法有直接的对应项,但是您可以迭代数组并为方法提供值,这些方法处理描述单个模型对象的字典或数组。
迅速
通过 Realm.create(_, value: _, update: _
):
let objects = jsonArray.map { realm.create(MyRealmObject.self, value: $0, update: true) }
物镜
通过
+[RLMObject createOrUpdateInRealm:withValue:]
:RLMRealm *realm = [RLMRealm defaultRealm];
NSMutableArray *objects = [NSMutableArray new];
for (NSDictionary *jsonDict in jsonArray) {
RLMObject *myRealmObject = [MyRealmObject createOrUpdateInRealm:realm withValue:jsonDict];
[objects addObject:myRealmObject];
}