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];
}

10-08 02:28