0

在核心数据中,您最初使用以下方法添加对象/设置其属性值:

-(IBAction)save{

if (self.managedObjectContext == nil)
{
    self.managedObjectContext = [(RootAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}

    Frame *f = [NSEntityDescription insertNewObjectForEntityForName:@"Frame" inManagedObjectContext:self.managedObjectContext];

        f.typeLabel = self.textFieldtext.text;

    [self dismissViewControllerAnimated:YES completion:nil];

    NSError *error;

    if (![self.managedObjectContext save:&error]) {
        NSLog(@"Error");
    }
}

您通常会使用以下方法编辑值:

-(IBAction)save{
[self.f setValue:self.newTextfield.text forKey:@"typeLabel"];

[self dismissViewControllerAnimated:YES completion:nil];
NSError *error;
if (![self.managedObjectContext save:&error]) {
        //Handle Error
}

}

使用 A 显然有点不同NSFetchedResultsController

我想我的问题是,如何设置属性并使用NSFetchedResultsController?

4

1 回答 1

2

获取结果控制器充当获取请求和表视图之间的链接。有用的部分是,如果您对托管对象上下文进行任何会影响获取请求结果的更改,FRC 会自动获取这些并发​​送各种委托方法,您可以将这些委托方法绑定到您的表视图数据源代码以保持表是最新的。请参阅此处的“实现表视图数据源方法” 。

您上面的代码与此无关,除非它包含在从显示获取请求结果的表视图调用的模态视图控制器中,并用于添加新项目。在这种情况下,上面的代码将是相同的,但是当您返回表视图时,它已经包含您的新数据。

于 2012-11-30T07:31:30.347 回答