IOS setValue forKey

NSObjiect *obj;[obj setValue:value forKey:@"cpname"]
复制代码的时候都会出现这个异常
this class is not key value coding-compliant for the key cpname;

原因:obj不包含属性cpname

可以考虑使用 NSMutaleDictionary(Mutable) 类型的变量保存

时间: 2024-10-22 19:19:20

IOS setValue forKey的相关文章

iOS.KVC.setValue:forKey:

Foundation Framework 定义了 NSObject(NSKeyValueCoding), - (void)setValue:(id)value forKey:(NSString *)key; 该接口的说明 1. 先在message receiver的class中搜索方法 -set<Key>: 2. 如果1中未找到,则在class中以此搜索 _<key>, _is<key>, <key>, is<Key> 实例变量 3. 如果2中未

iOS setValue和setObject的区别

在使用NSMutableDictionary的时候经常会使用setValue forKey与setObject forKey,他们经常是可以交互使用的,代码中经常每一种的使用都有.1.先看看setValue: forKey:的定义 扩展NSMutableDictionary的一个类别,上面注释说的很清楚,发送setObject:forKey 给接收者,也就是调用setObject:forKey方法,除非value为nil的时候,调用方法removeObject:forKey 2.看看setObj

setValue:forKey:和setObject:forKey:调用者是dictionary时的区别

通常使用NSMutableDictionary时经常会使用setValue:forKey:和setObject:forKey:他们一般情况下是可以交互使用的,但是他们在特定情况下是有区别的: 官方文档中有如下注释: /* Send -setObject:forKey: to the receiver, unless the value is nil, in which case send -removeObjectForKey:. */ - (void)setValue:(nullable Ob

Objective-c setObject:forKey:和setValue:forKey:的区别

setObject:forKey: 是NSMutableDictionary类的方法 key参数类型可以是任意类型对象 value不能为nil,不然会报错 setValue:forKey: 是NSObject类的方法也就是说所有的OC对象都有这个方法 key值必须是字符串 value可以为nil,但是当value为空时,会自动调用removeObject:forKey方法 1.注意:setObject:forKey:对象不能存放nil要与下面的这种情况区分: [imageDictionaryse

setValue: forKey: 和 setValue: forKeyPath:

一. 先说下setObject forKey 和 setValue forKey 1.setObject:ForKey: 是NSMutableDictionary特有的:setValue:ForKey:是KVC的主要方法:2.setObject:ForKey:中object对象不能为nil,不然会报错:key的参数只要是对象就可以,并局限于 NSString:                                                                     

setObject:forKey:与setValue:forKey:的区别

首先不可变字典可以调起setValue:forKey:,但不能真正的进行操作,这取决与不可变字典不可增删改的特性. 然后看一下setObject:forKey: . setValue:forKey: . setValue:forKeyPath: 的标准调用语句: [muDict setValue:<#(nullable id)#> forKey:<#(nonnull NSString *)#>];[muDict setValue:<#(nullable id)#> fo

setObject:forKey和setValue:forKey的区别

setObject:forKey: 是NSMutableDictionary类的方法                              key参数类型可以是任意类型对象                              value不能为nil,不然会报错 setValue:forKey: 是NSObject类的方法也就是说所有的OC对象都有这个方法                            key值必须是字符串                            v

iOS setValue value类型与相应属性类型不同

1.通过setValue:forKey:为对象属性赋值时,属性的真正类型是由value的类型决定,, 例: @property (nonatomic, strong) NSString  *praise; [self setValue:@(20) forKey:@"praise"]; 则praise的真正类型是NSNumber类型,,, 2.当value的类型和相应属性的类型为不同的基本数据类型时,最终数据类型由相应属性的类型决定,,(自动转换) 例: @property (nonat

setValue:forKey:和 setObjectforKey: 区别

1 setValue: forKey:的定义 @interface NSMutableDictionary(NSKeyValueCoding)/* Send -setObject:forKey: to the receiver, unless the value is nil, in which case send -removeObject:forKey:.*/- (void)setValue:(id)value forKey:(NSString *)key;@endvalue 为 nil ,