KVC本质

作者: 程序猿_K | 来源:发表于2019-05-19 17:36 被阅读0次

KVC

KVC的全称是Key-Value Coding,俗称“键值编码”,可以通过一个key来访问某个属性.

//API
- (void)setValue:(id)value forKeyPath:(NSString *)keyPath;
- (void)setValue:(id)value forKey:(NSString *)key;
- (id)valueForKeyPath:(NSString *)keyPath;
- (id)valueForKey:(NSString *)key; 

KVC使用

//People类
@interface People : NSObject
@property(nonatomic, assign)int age;
@end
//main
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here..
        People *p = [[People alloc] init];
        [p setValue:@10 forKey:@"age"];
        //[p setValue:@10 forKeyPath:@"age"];
        NSLog(@"%d",p.age);
        return 0;
    }
}

可以看到打印都可以打印出10


KVC使用

KVC赋值过程

KVC赋值

KVC赋值会触发KVO
KVO原理类似以下操作:
1.KVO赋值操作(不管是不是调用set或者直接赋值)
2.willChangeValueForKey:
3.didChangeValueForKey:(内部调用通知KVO方法)

KVC取值过程

KVC取值

相关文章

  • KVC本质

    在设置setValueForKey时,如果对象的属性添加了KVO观察,会调用KVO,即使设置的key没有通过set...

  • KVC本质

    1.赋值操作 2.取值操作 3.用赋值KVC操作是否会触发KVO

  • KVC本质

    KVC KVC的全称是Key-Value Coding,俗称“键值编码”,可以通过一个key来访问某个属性. KV...

  • 处理Model (二) 使用KVC 方法及其本质

    .h文件 .m文件 KVC本质

  • swift kvc 构造函数

    kvc 是oc特有 ,KVC 本质上是在运行时,直接调用程序会崩溃 介绍 kvc 构造函数 kvc构造函数的作用是...

  • KVO和KVC的使用及原理解析

    一 KVO基本使用 二 KVO本质原理讲解及代码验证 三 KVC基本使用 四 KVC设值原理 五 KVC取值原理 ...

  • KVC、KVO的本质

    这篇文章介绍KVC、KVO的本质。如果你对KVC、KVO不了解,推荐先查看其用法:KVC和KVO学习笔记[http...

  • KVC/KVO小结

    KVC和KVO的学习 KVC介绍KVC的本质就是键值编码定义:在对象创建完成之后,动态(牵扯到运行时)给对象的属性...

  • Swift 基础之KVC 字典转模型构造函数

    KVC 字典转模型构造函数 以上代码编译就会报错! 原因:KVC 是 OC 特有的,KVC 本质上是在运行时,动态...

  • 探究KVC本质

    细致的看了下KVC的东西,记录一下。 KVC:key-value-coding,键值编码。 KVC可以干什么?利用...

网友评论

      本文标题:KVC本质

      本文链接:https://www.haomeiwen.com/subject/zyrqzqtx.html