在NSDictionary中有一个NSMutableArray是否可以接受?或者NSDictionary也必须是可变的?
NSMutableArray将在运行时添加值,NSDictionary将始终具有相同的2个NSMutableArrays。
谢谢,
丹
答案 0 :(得分:3)
是的,这完全可以接受。请记住,数组的内容是NSMutableArrays的指针 - 这些是不可变字典结构中无法更改的内容。指针指向的内容可以改变你想要的一切。即:
NSMutableArray *arr = [[NSMutableArray alloc] init];
NSDictionary *dict = [NSDictionary dictionaryWithObject:arr forKey:@"test"];
[arr addObject:@"Hello"];
NSString *str = [[dict objectForKey:@"test"] objectAtIndex:0];
NSLog("%@", str);
答案 1 :(得分:0)
这是完全可以接受的。 但是,正是这种设置表明你应该认真考虑用一个NSObject子类替换字典,该子类有两个属性来访问数组。