我正在使用Core Data框架构建iOS应用程序。
现在我已熟悉Core Data实体和关系,但我想知道是否有办法声明任何具有iOS Foundation框架对象的Core Data实体。
例如,我希望Core Data实体具有NSSet实体,如:
Foo *foo = [NSEntityDescription insertNewObjectForEntityForName:@"Foo" inManagedObjectContext:managedObjectContext];
NSSet *set = foo.set;
for (NSString *string in set) {
// do something
}
有没有办法使用Core Data框架实现这一目标?
答案 0 :(得分:0)
有一种方法可以做到这一点,但我不会告诉你,因为听起来这不是解决问题的正确方法。
您说您熟悉核心数据实体和关系,因此请使用它们!
您可以为其提供一组Foo
个对象,而不是拥有一组字符串的Bar
对象,其中每个Bar
对象都有一个字符串属性。您可以通过使Foo
实体与Bar
具有级联删除规则的无序,多对多关系,在核心数据中对此进行建模,其中逆是与无效删除规则的一对一关系
当您发现使用NSFetchRequest
可以轻松高效地执行数据集的复杂查询时,您真的很感激在Core Data中明确建模数据。