核心数据实体中的对象数组?
Posted
技术标签:
【中文标题】核心数据实体中的对象数组?【英文标题】:Array of Objects in Core Data Entity? 【发布时间】:2010-05-01 09:29:37 【问题描述】:我有两个实体,一个命名为锻炼,另一个命名为锻炼。我想在每个锻炼对象中存储几个不同的练习。
这里的正确逻辑是什么?在每次锻炼中创建一系列练习?
【问题讨论】:
【参考方案1】:您不能在 Core Data 中创建数组。但是,您可以使用对多关系来模拟它们。将关系添加到您的 Workout
实体,例如 exercises
。然后将其 Destination 设置为 Exercise
实体并选中“To-Many Relationship”复选框。请注意,练习将存储为NSSet
,而不是NSArray
,因此不会被订购。如果您希望它们按特定顺序排列,我建议使用 BWOrderedManagedObject
子类。
【讨论】:
从ios 5开始,可以对关系进行排序。只需在编辑器中勾选关系上的“有序”复选框即可。 感谢@SteveHarrison 10 年前的精彩解释!【参考方案2】:正如@SteveHarrison 的(仍然完美的)十年前的回答所解释的那样,您只需单击“关系”,但请选择“对多”
所以,某些实体有许多“回复”项。 (我将“CD”放在所有实体名称的前面,因此是“CDReply”。)
下次重建后,您将免费获得
因此,假设您有一个CDPost
,即p
代码就是这么简单
for oneJsonReply in yourJson
r = CDReply.your code to convert ( oneJsonReply ) to a CDReply
p.addToReplys( r )
【讨论】:
以上是关于核心数据实体中的对象数组?的主要内容,如果未能解决你的问题,请参考以下文章