データを変更して (onBackgroundChange を押して)、保存しました。エラーはありませんでした。私のログには、「_正常に変更されました」というステータスが表示されます。
-(IBAction) onBackgroundChange:(id)sender
{
AppDelegate *app = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
context.parentContext = app.managedObjectContext;
[context performBlock:^
{
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Thread"];
NSArray *array = [app.managedObjectContext executeFetchRequest:request error:nil];
if (array.count > 0)
{
Thread *thread = [array objectAtIndex:0];
thread.threadInfo = @"background thread";
NSLog(@"___ change successfully");
}
if (![context save:nil])
{
NSLog(@"thread save error");
}
}];
}
その後、プログラムを停止して再度実行しました。私のonDescriptionログは
__ thread: main thread.
なにが問題ですか?
-(IBAction) onDescription:(id)sender
{
AppDelegate *app = [[UIApplication sharedApplication] delegate];
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Thread"];
NSArray *array = [app.managedObjectContext executeFetchRequest:request error:nil];
if (array.count > 0)
{
Thread *thread = [array objectAtIndex:0];
NSLog(@"__ thread: %@", thread.threadInfo);
}
}