KVC與KVO的一些理解

    KVC(key-value-coding,鍵值編碼)
框架

    kvc是一種經過字符串去間接操做對象屬性的一種機制,例如,訪問一個對象的屬性person.age時。使用kvc的方式:[person valueforkey:@"age"];
函數

    kvc爲OC語言動態運行時機制的一種體現,任何NSObject類型的對象都支持kvc。
編碼

    KVO(key-value-observer)
spa

    kvo就是在一個語言框架層面實現的觀察者模式,經過kvc的方式去改變屬性時,會主動通知觀察者,對符合kvc鍵值編碼的變量的觀察,主要對變量賦值操做的觀察
orm


    [_model addObserver:self forKeyPath:@"price" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];server

    

    //鍵值觀察者要實現的函數對象

    //第一個參數 就是監聽的 對象屬性名字符串

    //第二個參數 監聽的對象it

    //第三個參數 改變的內容  若是設置過NSKeyValueObservingOptionNew 就能夠獲取對象屬性的新值io

    //若是設置NSKeyValueObservingOptionOld 能夠獲取對象屬性的舊值

    - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{

    }

相關文章
相關標籤/搜索