iOS 9 中的核心数据 NSOrderedSet

Core data NSOrderedSet in iOS 9

我注意到在 iOS 9 中(至少在 Objective C 中)当建立一对多核心数据关系时,父实体不再包含子实体的 NSOrderedSet一。

我有一个食谱应用程序,食谱与配料的关系是一对多的,但配料现在在食谱文件中显示如下

@property (nullable, nonatomic, retain) Ingredient *ingredients;

曾经是...

@property (nonatomic, retain) NSOrderedSet *ingredients;

当我尝试在 section 方法的行数中访问它时,它不像在 iOS 的旧版本中那样工作。理想情况下,我想 return 任何给定食谱中的成分数量,例如...

return self.recipe.ingredients.count

^^这不再有效,尽管在我的旧项目中有效

数据模型截图

有什么想法吗?谢谢!

我希望你 select 编辑了 Recipe 实体图片中的 "ingredients" 关系。然而,这并不重要,因为我可以从 "ingredients" 关系旁边的小图标看出它是一对一的关系(而且从 Recipe 到 Ingredient 的小线最后只有一个箭头).

你需要select和"ingredients"关系,然后在右边的小编辑器里,确定你select对多。如果您想要有序关系,您还需要单击 "Ordered" 的复选框,否则关系将是无序的 NSSet.