iPhone 开发问题(ObjectiveC)。
我正在尝试使用 TouchJSON 库,并且在序列化为 JSON 时遇到了一些麻烦。我已经打开了 ARC,所以我正在使用来自 github 的 ARC 分支。 我正在尝试我想象的一个相当基本的嵌套结构。里面的三个字典和字典里面的数组。
//Make some dictionaries with simple string pairs
NSDictionary *dicA = [NSDictionary dictionaryWithObjectsAndKeys:@"x", @"1", @"y", @"2", nil];
NSDictionary *dicB = [NSDictionary dictionaryWithObjectsAndKeys:@"x", @"1", @"y", @"2", nil];
NSDictionary *dicC = [NSDictionary dictionaryWithObjectsAndKeys:@"x", @"1", @"y", @"2", nil];
//Make an array of dictionary objects
NSArray *saveArray = [NSArray arrayWithObjects:dicA, dicB, dicC, nil];
//Make dictionary which has that array as one of the values
NSDictionary *bigDic = [NSDictionary dictionaryWithObjectsAndKeys:@"arr", saveArray,
@"mmm", @"nnn", nil];
NSData *jsonData = [[CJSONSerializer serializer] serializeObject:saveArray error:NULL];
//This works '[{"1":"x","2":"y"},{"1":"x","2":"y"},{"1":"x","2":"y"}]'
NSData *jsonDataB = [[CJSONSerializer serializer] serializeObject:bigDic error:NULL];
//This fails
当我尝试序列化 bigDic 时,它会在运行时用以下内容轰炸:
'NSInvalidArgumentException',原因:'-[__NSArrayI UTF8String]:无法识别的选择器发送到实例
在上面的行中序列化一个数组似乎工作正常。我的 bigDic 怎么了?