1、setValue:forKey
@interface NSMutableDictionary<KeyType, ObjectType>(NSKeyValueCoding)
/* Send -setObject:forKey: to the receiver, unless the value is nil, in which case send -removeObjectForKey:.
*/
- (void)setValue:(nullable ObjectType)value forKey:(NSString *)key;
中文翻译 :
发送setObject:forKey 给接收者,也就是调用setObject:forKey方法。除非value为nil的时候,调用方法removeObject:forKey
2、setObject:forKey
注意 :
setObject:forKey:中Key的对象是一个id类型,并不是NSString,只不过我们经常使用NSString而已。
3、主要区别
- setObject:forkey:中value是不能够为nil的,不然会报错。
- setValue:forKey:中value能够为nil,但是当value为nil的时候,会自动调用removeObject:forKey方法
- setValue:forKey:中key的参数只能够是NSString类型,而setObject:forKey:的可以是任何类型