• KVO与KVC初步了解


    参考: http://magicalboy.com/kvc_and_kvo/

    http://www.mamicode.com/info-detail-515516.html

    KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。KVC两个方法是:- (id)valueForKey:(NSString *)key; -(void)setValue:(id)value forKey:(NSString *)key;

    创建一个NSObject类,Person,含有两个字符属性和一个Person对象:

    ————————————————————————

    Person.h

    ————————————————————————

    #import <Foundation/Foundation.h>

    @interface Person : NSObject

    @property (nonatomic,copy) NSString * name;

    @property (nonatomic,copy) NSString * address;

    @property (nonatomic,retain) Person * spouse;

    @end

    KVO,即Key-Value Observing,建立在 KVC 之上,它能够观察一个对象的 KVC key path 值的变化。

    举个例子,用代码观察一个 person 对象的 address 变化,以下是实现的三个方法:

    addObserver: 添加观察

    observeValueForKeyPath:ofObject:change:context: 在被观察的 key path 的值变化时调用。

    dealloc 停止观察

    这就是 KVO 的作用,它通过 key path 观察对象的值,当值发生变化的时候会收到通知。

  • 相关阅读:
    RoIPooling、RoIAlign笔记
    ROI Align 的基本原理和实现细节
    ROI Align详解
    GIT总结
    java-变量,函数 下
    linux设置静态ip地址
    技术参考网站-网址
    python
    python
    python
  • 原文地址:https://www.cnblogs.com/qq411715078/p/5153170.html
Copyright © 2020-2023  润新知