核心数据保存环境

时间:2014-02-26 21:45:37

标签: ios core-data

我在重新启动应用后才看到保存的上下文。我有两个视图控制器,一个允许用户保存核心数据记录,另一个允许显示。当我保存新记录时,然后转到表视图以查看创建的所有记录,我没有看到新记录。这就是我创建记录的方式:

NSManagedObjectContext *context = [self managedObjectContext];
    Property *myProperty = [NSEntityDescription
                            insertNewObjectForEntityForName:@"Property"
                            inManagedObjectContext:context];
    myProperty.aptDescription = curProperty.description;
    NSError *error;
    [context save:&error];
    [appDelegate saveContext];

然后我撤回了这样做:

ATAppDelegate *appDelegate = (ATAppDelegate *)[[UIApplication sharedApplication]delegate];
    _managedObjectContext = [appDelegate managedObjectContext];

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription
                                   entityForName:@"Property" inManagedObjectContext:_managedObjectContext];
    [fetchRequest setEntity:entity];
    NSError *error;
    self.myProperties = [_managedObjectContext executeFetchRequest:fetchRequest error:&error];

但是就像我说的那样,当我在创建记录后立即返回到表视图时,不会显示新对象。有什么问题?

1 个答案:

答案 0 :(得分:1)

听起来好像没有正确实现NSFetchedResultsController的委托方法。虽然您没有共享任何视图代码,但无法确定。

此外,保存后您没有检查BOOL的{​​{1}}返回。您应始终始终始终检查-save:并至少记录错误。你可能会抛出一个错误而永远不会知道它。