如何更新Core Data中对象的值?

时间:2012-08-03 21:37:14

标签: iphone ios xcode core-data

我对使用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);
}

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:0)

你这样做几乎就像没有核心数据一样。将对象的引用保持为创建它的类中的属性,并进行所需的任何更改。唯一的区别是,当您希望更改保持不变时,您可以再次保存上下文。