在我的数据模型中添加关系会导致 NSFetchRequest 返回零项
Posted
技术标签:
【中文标题】在我的数据模型中添加关系会导致 NSFetchRequest 返回零项【英文标题】:Adding a relationship in my data model causes NSFetchRequest to return zero items 【发布时间】:2010-08-29 21:00:10 【问题描述】:我在 Xcode 的数据建模器中构建了一个名为“Store”的简单实体,用于 iPhone 应用程序。我还有一个与之关联的类(Store),我已经能够使用 CoreData 毫无问题地存储和检索数据。
现在我意识到我想与另一个实体(Aisle)建立关系。 Aisle 与 Store 之间已经存在一对一的关系,但由于一个 Store 中可以有多个 Aisles,因此我尝试添加相反的关系。新的关系是一对多的,与原来的一对一关系相反,是可选的,并且删除设置为级联。我还重新创建了关联的 Store 类,因此现在类定义中也有一个 NSSet ivar。
仅添加此关系会导致我的现有数据无法通过 NSFetchRequest 进行检索。在调试时,我看到请求填充的数组包含零个项目,但查看 SQL 数据库,我发现对象都在那里。如果我删除新关系,一切都会正常。
这是我检索数据的代码:
NSManagedObjectContext *context = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Store" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSError *error;
NSArray *storesList = [context executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];
知道为什么我的 fetch 不能正常工作吗?
谢谢!
【问题讨论】:
【参考方案1】:您是否删除了 sqllite 文件并在模型更改后重新创建了数据库并重新填充了它?如果没有,您可能需要考虑这一点。
【讨论】:
以上是关于在我的数据模型中添加关系会导致 NSFetchRequest 返回零项的主要内容,如果未能解决你的问题,请参考以下文章
我的数据模型中需要什么关系才能将它们连接到我的PowerPivot表中?