只是学习和尝试新事物。我想知道是否有更好的方法来编写这个语句,或者修改字典中的数组。寻找格式,记忆和效率建议:
NSMutableArray *arrayCopy = [self.sortedTimeZonesDictionary objectForKey:currentTimeZone.sectionKey];
[arrayCopy addObject:currentTimeZone];
[self.sortedTimeZonesDictionary setObject:arrayCopy forKey:currentTimeZone.sectionKey];
我的词典定义为:
@property (strong, nonatomic) NSMutableDictionary *sortedTimeZonesDictionary;
并使用每个键内部的数组进行分配和初始化。
答案 0 :(得分:2)
你只能这样做:
[[self.sortedTimeZonesDictionary objectForKey:currentTimeZone.sectionKey] addObject:currentTimeZone];
请记住,您使用指针,所以假设您的NSMutableDictionary有一个指向ArrayA的指针,您只需要向ArrayA添加一个对象。
您在示例中所做的是使make arrayCopy
指向与NSMutableDictionary对象相同的内存地址,然后在该内存地址的数组中添加一个新对象。自arrayCopy
和self.sortedTimeZonesDictionary[currentTimeZone.sectionKey]
指向同一地址后,上一条指令不会产生任何影响。