//实例化一个老师
Teacher *t1=[[Teacher alloc] init];
//KVC工作流程
//KVC首先检车类中是否有getter,setter方法.
//如果没有就去找有没有和key相同名字的实例变量.
//如果也米有,就去找有没有和_key相同名字的实例变量.
//第一个方法是用来设置值的
[t1 setValue:@"仓老师" forKey:@"name"];
//第二种方法是用来取值的
NSLog(@"%@",[t1 valueForKey:@"name"]);
[t1 setValue:@18 forKey:@"age"];
NSLog(@"%@",[t1 valueForKey:@"age"]);
Student *s1=[[Student alloc] init];
[t1 setValue:s1 forKey:@"stu"];
//第三种, 设置值
[t1 setValue:@"大师兄" forKeyPath:@"stu.name"];
//第四种 取值
NSLog(@"%@",[t1 valueForKeyPath:@"stu.name"]);
//第五种
NSDictionary *dict=@{@"name": @"唐僧",@"age":@20,@"stu":s1,@"1":@"a"};
[t1 setValuesForKeysWithDictionary:dict];
NSLog(@"%@",t1.name);
NSLog(@"%ld",t1.age);
NSLog(@"%@",t1.stu.name);
//第六种p
//第六种
-(void)setValue:(id)value forUndefinedKey:(NSString *)key{
NSLog(@"%@是个演员,没有找到",key);
}