kvc可以直接對私有屬性進(jìn)行賦值.
p.age =20; 當(dāng)person有一個height的私有屬性時就不能通過.語法賦值了
[p setValue:@170 forKey:@"height"];
p.dog = [[Dog alloc] init];? [p setValue:@200 forKey:@"dog.weight"];
會先去找有沒有dog這個key,然后去找有沒有weight這個屬性腻贰。所以我們在使用kvc的時候,最好用forKeyPath這個方法
kvc字典轉(zhuǎn)模型
- (instancetype)initWithDict:(NSDictionary*)dict
{if(self= [super ?init]) { ? ?[self setValuesForKeysWithDictionary:dict];? ? }? ? returnself;}