我正在尝试构建一个字典,其中包含字典(最终我希望转换为 JSON)。问题是我在构建它时遇到问题。
到目前为止我有这个,它应该做的是用键构建一个小字典并将其添加到一个更大的字典中,重置然后加载小字典,然后将它添加到大字典。
NSMutableDictionary *nestedList = [[NSMutableDictionary alloc]init];
NSMutableDictionary *nestedSections = [[NSMutableDictionary alloc] init];
[nestedList addEntriesFromDictionary:[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:46], @"menuHeight",
@"editText", @"menuMethod",
[NSNumber numberWithInt:1], @"menuOption",
nil]];
[nestedSections addEntriesFromDictionary:[NSDictionary dictionaryWithObjectsAndKeys:
nestedList, "@Basic",
nil]];
[nestedList removeAllObjects];
[nestedList addEntriesFromDictionary:[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:92], @"menuHeight",
@"sendText", @"menuMethod",
[NSNumber numberWithInt:1], @"menuOption",
nil]];
[nestedSections addEntriesFromDictionary:[NSDictionary dictionaryWithObjectsAndKeys:
nestedList, "@Pro",
nil]];
然后我希望这样解决;
NSString *string = [[nestedSections objectForKey:@"Pro"] objectForKey:@"menuMethod"];
NSLog(@"Method is : %@", string);
日志希望能读到sendText
第一个字典构建得很好,但是一旦我尝试将它添加到第二个字典中,就会出现 EXC_BAD_ACCESS
我认为这是一个内存寻址问题,因为它们都是可变的,但我不确定,也许 nestedList 不应该是可变的。任何帮助表示赞赏。
最终,我想将其转换为 JSON 之类的;
{
"Basic":
{
"menuHeight":"46",
"menuMethod":"editText",
"menuOption":"1",
},
"Pro":
{
"menuHeight":"96",
"menuMethod":"sendText",
"menuOption":"1",
}
}