【发布时间】:2014-02-19 12:23:18
【问题描述】:
在我的应用程序中,我以这种方式存储来自 JSON 文件的数据(这是身份的示例)
NSManagedObjectContext *context = [self managedObjectContext];
for (id element in array){
NSLog(@"element:%@", element);
Str *str = [NSEntityDescription insertNewObjectForEntityForName:@"Str" inManagedObjectContext:context];
Id_loc *loc = [NSEntityDescription insertNewObjectForEntityForName:@"Id_loc" inManagedObjectContext:context];
loc.id_loc = @"id_1";
[str addLocObject:loc];
}
问题是我每天都从 Web 服务解析这个 JSON;因此,它每天都可以更改其“Str”身份(我的 JSON 的一个对象)的数据和数量。 问题是,更新我的核心数据数据库的更好解决方案是什么? 我有两种可能:
1- 使用 NSFetchRequest 更新我的数据库,检查元素是否存在,并更新它;如果它不存在,我应该创建它。最后,如果 JSON 中不存在一个对象,但它在我的核心数据数据库中,我应该删除它,这是一系列复杂的控件。
2- 删除所有核心数据数据库并使用新的 JSON 文件再次填充。
在您看来,更好的选择是什么?
我告诉你,在我的应用中,我必须只读取我的db,使用时不需要删除或修改它。
【问题讨论】:
标签: ios database core-data nsmanagedobject