在 NSDictionary 中包含 NSMutableArray 是否可以接受?或者 NSDictionary 也必须是可变的吗?
NSMutableArray 将在运行时添加值,NSDictionary 将始终具有相同的 2 个 NSMutableArray。
谢谢
丹
最佳答案
是的,这是完全可以接受的。请记住,数组的内容是指向 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);
关于iphone - 不可变对象(immutable对象)中的可变对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/577728/