将对象 NSMutableArray 添加到 NSDictionary
Posted
技术标签:
【中文标题】将对象 NSMutableArray 添加到 NSDictionary【英文标题】:Addobject NSMutableArray to a NSDictionary 【发布时间】:2011-10-11 08:42:37 【问题描述】:我正在尝试将NSMutableArray
添加到NSDictionary
但在日志中显示NSDictionary
时出现此问题:
)' of class '__NSCFArray'. Note that dictionaries and arrays in
property lists must also contain only property valúes.
这是我用来创建NSMutableDictionary
的代码
NSMutableDictionary *training = [[NSMutableDictionary alloc] init];
[training setObject:[NSNumber numberWithInt:eltiempo] forKey:@"tiempototal"];
[training setObject:[NSNumber numberWithFloat:totalkm] forKey:@"distanciatotal"];
[training setObject:[NSNumber numberWithInt:(int)(velocidadmedia/60)] forKey:@"velocidadmedia"];
[training setObject:[NSString stringWithFormat:@"%2d:%02d min/km"] forKey:@"fecha"];
[training setObject:posiciones forKey:@"posiciones"];
其中 posiciones 是我要添加的数组。我将此字典保存在一个数组中,以便将其保存在用户默认值中。但由于我有这个问题,NSDictionary
没有被创建。
感谢您的帮助。
佩德罗
【问题讨论】:
也许这不是问题,但我看到键“fecha”的字符串格式无效。 您没有粘贴整个日志消息。问题似乎是数组或字典包含不属于祝福属性列表类型组(NSString、NSArray、NSDictionary、NSDate、NSData、NSNumber)的对象。 【参考方案1】:你将它添加到数组中就好了^^你想写入一个plist(根据错误)并且posiciones包含不能在plist中使用的非plist类型
【讨论】:
【参考方案2】:佩德罗·皮涅拉·布恩迪亚,
试试这个代码,
NSMutableDictionary *woRows = [[NSMutableDictionary alloc] init];
NSMutableArray *workOrders = [[NSMutableArray alloc] init];
[woRows setValue:[workOrders objectAtIndex:0] forKey:@"somekey"];
[woRows setValue:[workOrders objectAtIndex:1] forKey:@"somekey"];
[woRows setValue:[workOrders objectAtIndex:2] forKey:@"somekey"];
【讨论】:
-1:没有关于与海报已经在做什么不同的消息。我看不到任何东西(除了你的代码覆盖同一个键三次并且会崩溃,但它是示例代码)。以上是关于将对象 NSMutableArray 添加到 NSDictionary的主要内容,如果未能解决你的问题,请参考以下文章
将对象 NSMutableArray 添加到 NSDictionary
iOS/Objective-C:将 NSString 对象添加到 NSMutableArray,NSMutableArray 为 (null)
核心数据触发错误将对象添加到 NSMutableArray?