可能重复:
Where's the difference between setObject:forKey: and setValue:forKey: in NSMutableDictionary?
您好,
setObject:forKey:
将一个给定的键值对添加到字典中。
- (void)setObject:(id)anObject forKey:(id)aKey
再次
setValue:forKey:
将一个给定的键值对添加到字典中。
- (void)setValue:(id)value forKey:(NSString *)key
然后它们之间有什么区别? 区别仅在于接收参数? can setObject:forKey:用来代替setValue:forKey:?
答案 0 :(得分:4)
从链接:
setValue:forKey:
讨论 此方法使用setObject:forKey:向字典添加值和键,除非value为nil,在这种情况下,该方法将尝试使用removeObjectForKey删除键:。
setObject:forKey:
讨论 如果aKey或anObject为nil,则引发NSInvalidArgumentException。如果需要在字典中表示nil值,请使用NSNull。
如果字典中已存在aKey,则该字典的该键的前一个值对象将发送一条释放消息,并且一个对象取代它。