iOS核心数据:使用Foundation对象添加属性

时间:2015-07-05 17:08:11

标签: ios core-data

我正在使用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框架实现这一目标?

1 个答案:

答案 0 :(得分:0)

有一种方法可以做到这一点,但我不会告诉你,因为听起来这不是解决问题的正确方法。

您说您熟悉核心数据实体和关系,因此请使用它们!

您可以为其提供一组Foo个对象,而不是拥有一组字符串的Bar对象,其中每个Bar对象都有一个字符串属性。您可以通过使Foo实体与Bar具有级联删除规则的无序,多对多关系,在核心数据中对此进行建模,其中逆是与无效删除规则的一对一关系

data model

当您发现使用NSFetchRequest可以轻松高效地执行数据集的复杂查询时,您真的很感激在Core Data中明确建模数据。