KVO與KVC鍵值監聽的機制

2021-07-09 04:47:46 字數 958 閱讀 1925

kvc 通過key 來檢測value的值

直接貼上**

var peo = stu()

peo.name = "cao"

//kvc 通過key來訪問value

var name = peo.valueforkey("name") as! nsstring

peo.setvalue("kai", forkey: "name")

print(peo.name!)

print(name)

//kvo鍵值監聽的機制

kvo監聽機制

建立在kvc之上的的機制

主要功能是檢測物件屬性的變化

這是乙個完善的機制,不需要使用者自己設計複雜的觀察者模式

對需要觀察的屬性要在前面加上dynamic關鍵字

kvo鍵值監聽機制

各引數的說明:

註冊監聽的機制 用通知欄的方法

首先 廣播出訊息

let datadict = ["username": self.txtusername.text!]

//傳送通知

nsnotificationcenter.defaultcenter().postnotificationname("registercompletionnotification", object: nil, userinfo: datadict)

隨後對這個廣播出來的訊息有興趣的類 註冊監聽

nsnotificationcenter.defaultcenter().addobserver(self, selector: "resigin:", name: "registercompletionnotification", object: nil)

}func resigin(notification:nsnotification)

物件導向 鍵值編碼 KVC 與鍵值監聽 KVO

最基本的kvc由nskeyvaluecoding協議提供支援,最基本的操作屬性的兩個方法如下 setvalue 屬性值forkey 屬性名 為指定屬性設定值。valueforkey 屬性名 獲取指定屬性值 在kvc程式設計方式中,無論呼叫setvalue forkey 方法,還是呼叫valuefor...

KVC 鍵值編碼與KVO鍵值監聽的應用(一)

1 鍵值編碼的基本概念和用法 鍵值編碼的基本概念 kvc是keyvalue coding的簡稱,它是一種可以直接通過字串的名字 key 來訪問類屬性的機制。使用該機制不需要呼叫訪問方法和變數例項就可以訪問物件屬性。本質上講,鍵 值編碼定義了你的程式訪問方法需要實現的樣式及方法簽名。在應用程式中實現鍵...

鍵值編碼 KVC 簡單的KVC

main.m kvc一 created by goddog on 15 1 3.1.我們可以通過setter和getter方法來設定和修改物件的屬性,同時也可以通過鍵值編碼 kvc 來操作物件屬性。2.何為kvc 以字串的形式間接的操作物件的屬性。設定值用 setvalue 屬性值 forkey 屬...