【问题标题】:Core data NSOrderedSet in iOS 9iOS 9 中的核心数据 NSOrderedSet
【发布时间】:2016-01-25 21:54:49
【问题描述】:

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

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

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

曾经……

@property (nonatomic, retain) NSOrderedSet *ingredients;

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

return self.recipe.ingredients.count

^^虽然在我的旧项目中这样做了,但它不再起作用了

数据模型截图

有什么想法吗?谢谢!

【问题讨论】:

  • 请张贴您的数据模型的图片。
  • 如果 Xcode 正在生成这样的代码,那么你的关系就不是一对多的,或者如果是,那就走错了方向。
  • 这就是我的想法,但我的做法与我在其他项目中的做法完全相同,而且效果很好。我在上面进行了编辑以包含屏幕截图

标签: objective-c core-data ios9 relationship nsmanagedobject


【解决方案1】:

我希望你在 Recipe 实体的图片中选择了“配料”关系。但是,这并不重要,因为我可以从“成分”关系旁边的小图标中看出它是一对一的关系(从食谱到成分的小线也只有一个箭头)。

你需要选择“配料”关系,然后在右边的小编辑器中,确保你选择了to-many。如果您想要一个有序的关系,您还需要单击“有序”复选框,否则该关系将是一个无序的NSSet

【讨论】:

  • 完美!谢谢乔迪
猜你喜欢
  • 2015-12-21
  • 2017-07-12
  • 2013-04-19
  • 1970-01-01
  • 1970-01-01
  • 2014-03-20
  • 2012-08-31
  • 2023-04-05
  • 2016-04-04
相关资源
最近更新 更多