我有一个相对较小的核心数据应用程序。它包含使用存储在 NSUserDefaults 中的一些用户首选项生成的对象。当用户改变他们的偏好时,是否可以使用更新的偏好重新计算所有当前的核心数据元素?
问问题
885 次
1 回答
1
是的,只需检查您的委托的用户偏好是否已更改,然后更新您的 NSManagedObject 元素。
您可以使用这样的东西来查询您保存的对象
// Query your already saved objects and change their values
- (void)changeObjects {
NSArray *array = [CoreDataUtils fetchEntity:@"MyObject" withPredicate:nil inContext:moc];
for (NSManagedObject *obj in array) {
[obj setValue:@"newValue" forKey:@"columName"];
}
[moc save:nil];
}
+ (NSArray *)fetchEntity:(NSString *)entityName withPredicate:(NSPredicate *)predicate inContext:(NSManagedObjectContext *)moc
{
NSFetchRequest* request = [[NSFetchRequest alloc] init];
NSEntityDescription* entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:moc];
[request setEntity:entity];
[request setPredicate:predicate];
NSError* error;
return [moc executeFetchRequest:request error:&error];
}
于 2012-10-10T13:24:36.743 回答