核心数据实体中的对象数组?

Abd*_*lla 4 cocoa entity core-data

我有两个实体,一个名为运动,另一个名为运动.我想在每个锻炼对象中存储几个不同的练习.

这里的逻辑是什么?在每次锻炼中创建一系列练习?

Ste*_*son 13

您无法在Core Data中创建数组.但是,您可以使用To-Many Relationships来模拟它们.Workout例如,为您的实体添加一个名为的关系exercises.然后将其Destination设置为Exercise实体并选中"To-Many Relationship"复选框.请注意,练习将存储为NSSet,而不是NSArray,因此不会被订购.如果您希望它们按特定顺序排列,我建议您使用BWOrderedManagedObject子类.

  • 从iOS 5开始,可以对关系进行排序.只需勾选编辑器中关系的"有序"复选框即可. (9认同)

Fat*_*tie 7

正如@SteveHarrison(仍然完美)十年前的答案所解释的那样,您只需单击“关系”,但一定要选择“对多”

在此输入图像描述

因此,某些实体有许多“回复”项。(我将“CD”放在所有实体名称前面,因此是“CDReply”。)

下次重建后,您可以免费获得

在此输入图像描述

CDPost因此,假设你有一个p

代码就是这么简单

for oneJsonReply in yourJson {
    r = CDReply.your code to convert ( oneJsonReply ) to a CDReply
    p.addToReplys( r )
Run Code Online (Sandbox Code Playgroud)