2011-06-27 107 views
0

所以我解析了一个xml并创建了一堆带有诸如“User has_many Badges”之类的关系的ManagedObjects,该应用程序可以用刚解析的数据显示每个用户的配置文件。但是,如果我从多任务栏中关闭应用程序并重新打开它。数据消失了。没有警告。我应该从哪里开始调试?谢谢。代码如下所示: [self parseXML]; [appDelegate saveContext];核心数据无法保存NSManagedObjectContext

详细信息:以下是我如何创建核心数据模型:我使用了xcode模板中的代码。每个用户都有很多徽章,但我没有徽章与用户的反向关系。在我分析了xml并创建了带有徽章的所有用户之后,应用程序可以从上下文中提取数据并使用徽章和所有内容生成配置文件视图。

问题:

后,我关闭从多任务栏的应用,核心数据将存储项目一样,和电话,除了徽章所有的用户属性。徽章是一个独立的实体。谢谢。

解决:在设置反向关系后,问题自行解决。如果我与其他代码混淆,不能想到其他原因可能会导致问题。

+0

theres没有足够的信息在这里甚至开始回答这个问题,你如何创建你的核心数据对象? – Daniel

回答

1

没有太多去,但:

如果只是它所有的方法不会保留数据的核心数据对象图的作品,那么问题几乎必须在持久性存储本身的水平。

(1)确保您没有内存中的持久性存储。顾名思义,这种类型的商店没有任何持久性。对象图将起作用,上下文将执行保存操作,但不会写入磁盘。检查initWithPersistentStoreCoordinator:configurationName:URL:options方法以查看商店的类型和位置。 (2)让你没有将商店放在应用程序目录中的缓存或tmp文件夹中。这些文件夹将被例行清除。

如果您刚刚使用Core Data项目的Xcode模板中的样板,则应该不会因为模板在Documents目录中创建sqlite持久存储文件而导致出现这些问题。

+0

谢谢,我已经更新了更多细节。但我认为商店没有问题,因为它可以存储用户除徽章属性以外的所有其他属性。 – randomor

相关问题