iPhone核心数据缺失实体

时间:2011-09-21 19:01:26

标签: iphone ios core-data

我有一个应用程序,我一直在努力,我最初包括Core Data支持,但实际上直到最近才开始尝试使用它。现在我实际上正在尝试使用Core Data ...它似乎不是我能做到的。当我编辑我的xcdatamodel以包含新的(或真的,任何)实体时,我似乎无法实际访问应用程序本身中的那些实体。在这个过程中的某个地方,我将项目从ProjectTest重命名为CoreDataTest,我怀疑它正在引发或与此问题有关。我没有更改最初由Xcode在应用程序委托中生成的任何默认方法(最初为3,但现在使用4)。

所以,我创建了一个新的实体,称为简单的TestEntity,带有一个属性(String)TestAttribute。

在我的app委托中,我尝试了几种不同的方式来访问Entity并将字符串保存到它,但都失败了。所以我想我会走遍所有实体,以为我在某种程度上搞乱了创建NSEntityDescription。我将以下代码放入显示所有实体的列表......并且一无所获:

NSManagedObjectModel *model = [[self.managedObjectContext persistentStoreCoordinator]
                               managedObjectModel];
NSLog(@"List of Entities:");
for (NSEntityDescription *entity in model)
{
  NSLog(@"Entity: %@", entity);
}
NSLog(@"Done with list");

对于输出我得到:

2011-09-21 14:58:01.955 CoreDataTest[1813:b603] List of Entities:
2011-09-21 14:58:01.955 CoreDataTest[1813:b603] Done with list

所以...我已经尝试清理构建了。我在这里搜索了很多关于SO的问题以及更多关于谷歌的问题,但我似乎无法找到解决我问题的任何东西。在运行应用程序期间,我没有收到任何实际的错误消息或未捕获的异常。什么可能导致它的想法?我敢肯定,这可能是一件非常简单的事情,我忽略了......

感谢您的帮助,

威尔

1 个答案:

答案 0 :(得分:1)

尝试添加.entities,即:

for (NSEntityDescription *entity in model.entities) { //...

请参阅NSManagedObjectModel的文档。

同时检查您的模型是否为空。尝试打印它:NSLog(@"%@",model);