iOS - (void)setValue:(id)value forKey:(NSString *)key方法~实现

//联系人:石虎QQ:1224614774昵称:嗡嘛呢叭咪哄

一、概念

1)可以重写这个方法setNilValueForKey:

在Person类的实现文件中,重写setNilValueForKey:

- (void) setNilValueForKey:(NSString*)key

{

NSLog(@"%s",__func__);

}

再次运行,结果:-[Person setNilValueForKey:]

===================

2)验证如果方法的参数类型是NSNumber或NSValue的对应的基本类型,先把它转换为基本数据类,再执行方法,传入转换后的数据,测试代码

Person.m文件中:

- (void) setAge:(int)age

{

_age = age;

NSLog(@"%s------%d",__func__,age);

}

测试方法中

[p setValue:@(11)forKey:@"age"];

执行结果-[Person setAge:]------11

谢谢!!!

推荐阅读更多精彩内容