我想使用JSON文件发送应用数据更新。数据是托管对象。
然而:
我不想覆盖现有数据(可能包括用户生成的记录和修改),
我希望这个操作尽可能快(没有双关语......我还在Obj-C中)。
有人能指出我正确的方向吗?
这就是我现在启动应用的方式:
NSError* err = nil;
NSArray *jsonArray = [[NSArray alloc] init];
NSString* dataPath = [[NSBundle mainBundle] pathForResource:@"Words" ofType:@"json"];
jsonArray = [NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfFile:dataPath]
options:kNilOptions
error:&err];
NSManagedObjectContext *context = [self managedObjectContext];
[jsonArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
WordEntity *word = [NSEntityDescription
insertNewObjectForEntityForName:@"WordEntity"
inManagedObjectContext:context];
word.greekText = [obj objectForKey:@"greektext"];
word.englishText = [obj objectForKey:@"englishtext"];
word.uid = [NSString stringWithFormat:@"%@", [obj objectForKey:@"uid"]];
word.category = [obj valueForKey:@"category"];
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
}];
}
感谢您的帮助..