关于KVC的 setValue,我想setValue之前,先看看该属性是否存在,如果不存在,就不调用setValue,如果存在,就setValue, |
|
10分 |
这样就行了:
[someObject respondsToSelector:NSSelectorFromString(@"foo")] 检查返回值 |
10分 |
KVC定义了一种可以按“名称”来访问对象属性的机制。如要访问person 类中的name属性,我们除了可以使用“点语法”访问外也可以使用KVC的方式来访问
[person setValue:@"zhangsan" forKey:@"name"]; ////基本等同于 person.name = @"zhangsan" 方法 - (BOOL)respondsToSelector:(SEL)aSelector [person respondsToSelector:@selector(setName:)]; /////or [person respondsToSelector:NSSelectorFromString(@"setName:")]; //////通过oc的动态调用方法 |