不能同时为同一个键添加多个值
Posted
技术标签:
【中文标题】不能同时为同一个键添加多个值【英文标题】:Cant add multiple values for same key at same time 【发布时间】:2013-09-27 06:49:08 【问题描述】:NSManagedObject *newVehicleCategory = [NSEntityDescription insertNewObjectForEntityForName:@"Vehicle" inManagedObjectContext:context];
[newVehicleCategory setValue:@"Car" forKey:@"category"];
[newVehicleCategory setValue: @"Bus" forKey:@"category"];
[newVehicleCategory setValue: @"Tractor" forKey:@"category"];
我正在我的应用程序的 viewDidLoad 中执行此操作,以将 3 个车辆类别添加到实体“车辆”的名为“类别”的属性中。 但是只有最后一个值被添加到其中,但我希望将所有这 3 个值都输入到属性“类别”中。 那我该怎么办??
【问题讨论】:
为什么你认为它应该有效?你试过什么了?您在哪里寻找解决方案? 您不能像这样为同一个键设置多个值,因为它会用新值替换以前的值。如果您需要设置,请使用数组并为该键分配该数组。 但是我需要将这3个值分开存储以备将来使用,我该怎么办?? 您有 2 种方法:1)使用 3 个不同的键,每个类别一个 2)创建一个数组/字典并保存它。 【参考方案1】:显然,您需要三个类别。
for (NSString *category in @[@"Car", @"Bus", @"Tractor"])
NSManagedObject *newVehicleCategory = [NSEntityDescription
insertNewObjectForEntityForName:@"Vehicle"
inManagedObjectContext:context];
[newVehicleCategory setValue:category forKey:@"category"];
这似乎是基本编程(101 之前)。也许你现在不应该接触 Core Data。
【讨论】:
以上是关于不能同时为同一个键添加多个值的主要内容,如果未能解决你的问题,请参考以下文章