0

データを変更して (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);
 }
}
4

0 に答える 0