0

私はCoreDataを使ったプログラミングに少し慣れていないので、これを行う方法がわかりません。CoreDataオブジェクトに保存されている文字列を更新しようとしていますが、その方法についてはよくわかりません。これが私のコードです:

これが私が新しいオブジェクトを作るところです:

- (void)insertNewObject:(id)sender
{
     self.steakName = @"No Name";
     NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
     NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
     NSManagedObject *newManagedObject = [NSEntityDescription      insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];

     [newManagedObject setValue:self.steakName forKey:@"steakName"];

     // Save the context.
     NSError *error = nil;
     if (![context save:&error]) {
         NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
         abort();
     }
}

これが私がそれを更新したいところです:(それはそれが作られている場所とは異なるクラスで更新されています。)

- (IBAction)update:(id)sender {
    MasterViewController *masterViewController = [[MasterViewController alloc] init];
    masterViewController.steakName = [self.steakNameTextField text];
    self.detailDescriptionLabel.text = masterViewController.steakName;
    NSLog(masterViewController.steakName);
}

ご協力ありがとうございました!:)

4

1 に答える 1

0

CoreDataを使用しない場合とほぼ同じ方法で実行します。オブジェクトへの参照を、オブジェクトが作成されたクラスのプロパティとして保持し、必要に応じて変更を加えます。唯一の違いは、変更を保持したい場合は、コンテキストを再度保存することです。

于 2012-08-03T21:43:01.923 に答える