iphone:setObject:forKey:和setValue:forKey:在向可变字典添加条目方面有什么区别
可能重复:iphone:setObject:forKey:和setValue:forKey:在向可变字典添加条目方面有什么区别,iphone,objective-c,ios,Iphone,Objective C,Ios,可能重复: 嗨 将给定的键值对添加到字典中 - (void)setObject:(id)anObject forKey:(id)aKey - (void)setValue:(id)value forKey:(NSString *)key 再次 将给定的键值对添加到字典中 - (void)setObject:(id)anObject forKey:(id)aKey - (void)setValue:(id)value forKey:(NSString *)key 那么它们之间有什么区别呢
嗨 将给定的键值对添加到字典中
- (void)setObject:(id)anObject forKey:(id)aKey
- (void)setValue:(id)value forKey:(NSString *)key
再次
将给定的键值对添加到字典中
- (void)setObject:(id)anObject forKey:(id)aKey
- (void)setValue:(id)value forKey:(NSString *)key
那么它们之间有什么区别呢?
差异是否仅在于接收参数?
能否使用setObject:forKey:代替setValue:forKey:?:
从链接:
setValue:forKey:
讨论
此方法使用setObject:forKey:将值和键添加到字典中,除非值为nil,在这种情况下,该方法会尝试使用removeObjectForKey:删除键
setObject:forKey:
讨论
如果aKey或anObject为nil,则引发NSInvalidArgumentException。如果需要在字典中表示nil值,请使用NSNull
如果字典中已经存在aKey,则会向字典中该键的上一个值对象发送一条释放消息,并替换一个对象。可能的重复项