私は比較的小さなコアデータアプリケーションを持っています。これには、NSUserDefaultsに格納されているいくつかのユーザー設定を使用して生成されたオブジェクトが含まれています。ユーザーが設定を変更した場合、更新された設定を使用して、現在のすべてのコアデータ要素を再計算することは可能ですか?
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 に答える