OC课堂笔记->KVC

KVC(key,value,coding)
1.key:键,用于标识实例变量;value:实例变量对应的值
2.修改值
setValue: forKey:
setValue: forKeyPath:
setValue:forUndefinedKey;
setValuesForKeysWithDictionary:
3:获取值
valueForKey
valueForKeyPath
valueForUndefinedKey
当Key不存在的时候,会执行setValue:forUndefineKey:

4://KVC工作流程

    //KVC首先检查类中,是否有相应的getter,setter方法;

    //如果有就调用,如果没有就去找有没有和key相同名字的实例变量.

    //如果也没有,就去找有没有和_key相同名字的实例变量;

5:    //第一个方法

    //设置值----->[t1 setValue:@"苍老师" forKey:@"name"];

    [t1 setValue:@"苍老师" forKey:@"name"];

    //取值----->[t1 valueForKey:@"name"]

    NSLog(@"%@",[t1 valueForKey:@"name"]);

    //第二种方法

    [t1 setValue:@18 forKey:@"age"];

    NSLog(@"%ld",[[t1 valueForKey:@"age"] integerValue]);

    

    //第三种

    Student * s1 = [[Student alloc] init];

    [t1 setValue:s1 forKey:@"stu1"];

    [t1 setValue:@"大师兄" forKeyPath:@"stu1.name"];

    //第四种

    NSLog(@"%@",[t1 valueForKeyPath:@"stu1.name"]);

    //第五种

    NSDictionary * dict = @{@"name":@"唐僧",@"age":@20,@"stu1":s1,@"1":@"a"};

    [t1 setValuesForKeysWithDictionary:dict];

    NSLog(@"%@",[t1 valueForKeyPath:@"name"]);

    //第六种

在.m中实现

- (void)setValue:(id)value forUndefinedKey:(NSString *)key

{

    NSLog(@"%@   %@没有找到",key,value);

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值