CLBeaconRegion *region;
NSMutableDictionary *beacons;
....
beacons[region] = beacons;
以上代码将beacons
设置为region
的值是beacons
的值吗?我认为密钥必须是string
中的NSDictionary/NSMutableDictionary
?
答案 0 :(得分:3)
当你说:
beacons[region] = beacons;
这与:
相同[beacons setObject:beacons forKey:region];
第一个是第二个语法快捷方式。无论哪种方式,它可能不是你想要的,因为它通常通常有意义设置指向字典本身的字典键/值对。你究竟想做什么?
字典中的键不必是字符串,但它必须符合NSCopying
protocol,请参阅definition:
- (void)setObject:(id)anObject
forKey:(id<NSCopying>)aKey
答案 1 :(得分:0)
beacons[region] = beacons;
似乎不正确,因为您要在密钥beacons
下将region
字典添加到自身。
请注意,使用键值编码时,键必须是字符串,请参阅Key-Value Coding Fundamentals。