iphone:setObject:forKey:和setValue:forKey:在将条目添加到可变字典中有什么区别

时间:2011-05-28 11:57:09

标签: iphone objective-c ios

  

可能重复:
  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:?

1 个答案:

答案 0 :(得分:4)

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSMutableDictionary_Class/Reference/Reference.html#//apple_ref/occ/instm/NSMutableDictionary/setValue:forKey

从链接:

setValue:forKey:

讨论 此方法使用setObject:forKey:向字典添加值和键,除非value为nil,在这种情况下,该方法将尝试使用removeObjectForKey删除键:。

setObject:forKey:

讨论 如果aKey或anObject为nil,则引发NSInvalidArgumentException。如果需要在字典中表示nil值,请使用NSNull。

如果字典中已存在aKey,则该字典的该键的前一个值对象将发送一条释放消息,并且一个对象取代它。