Iphone 核心数据-保存“核心数据”的最佳方式;“项目数量”;

Iphone 核心数据-保存“核心数据”的最佳方式;“项目数量”;,iphone,core-data,Iphone,Core Data,用户将有一个静态项目列表可供选择。使用选择器视图,他们将选择其中一个项目,然后选择所需的数量 在核心数据中保存这些数据的最佳方法是什么?结构 struct order { NSInteger item; NSInteger numberOf; }; 还是某种关系 非常感谢在核心数据中,您将创建一个实体来模拟用户的选择 假设该项只是一个名称,那么您将拥有如下实体: ChoiceEntity{ itemName=string; quantity=int; } Ch

用户将有一个静态项目列表可供选择。使用选择器视图,他们将选择其中一个项目,然后选择所需的数量

在核心数据中保存这些数据的最佳方法是什么?结构

struct order {
    NSInteger item;
    NSInteger numberOf;
};
还是某种关系


非常感谢

在核心数据中,您将创建一个实体来模拟用户的选择

假设该项只是一个名称,那么您将拥有如下实体:

ChoiceEntity{
    itemName=string;
    quantity=int;
}
ChoiceEntity{
    quantity=int;
    item <<--(required,nullify)--> ItemEntity;
}

ItemEntity {
    // ... attributes of items. 
    choices <--(optional, cascade)-->> ChoiceEntity;
}
如果项目有自己的实体,则如下所示:

ChoiceEntity{
    itemName=string;
    quantity=int;
}
ChoiceEntity{
    quantity=int;
    item <<--(required,nullify)--> ItemEntity;
}

ItemEntity {
    // ... attributes of items. 
    choices <--(optional, cascade)-->> ChoiceEntity;
}
选择实体{
数量=整数;
项目选择实体;
}

对于没有关系的简单数据,可以将核心数据实体视为简单结构。(事实上,在引擎盖下,它们就是这样。)

因此,例如,如果ChoiceEntity是订单上的一个项目,我会将ChoiceEntity作为一个对多关系放在我的OrderEntity中。这有意义吗?因此,顾客只需订购一份:苹果x2,面包x1,巧克力x10