一、簡介
由於objc主要基於smalltalk進行設計,因此它有很多類似於ruby、python的動態特性,例如動態型別、動態載入、動態繫結等。今天我們著重介紹objc中的鍵值編碼(kvc)、鍵值監聽(kvo)特性:
1、鍵值編碼kvc
2、鍵值監聽kvo
我們知道在c#中可以通過反射讀寫乙個物件的屬性,有時候這種方式特別方便,因為你可以利用字串的方式去動態控制乙個物件。其實由於objc的語言特性,你根部不必進行任何操作就可以進行屬性的動態讀寫,這種方式就是key value coding(簡稱kvc)。
kvc的操作方法由nskeyvaluecoding協議提供,而nsobject就實現了這個協議,也就是說objc中幾乎所有的物件都支援kvc操作,常用的kvc操作方法如下:
動態設定: setvalue:屬性值 forkey:屬性名(用於簡單路徑)、setvalue:屬性值 forkeypath:屬性路徑(用於復合路徑,例如person有乙個account型別的屬性,那麼person.account就是乙個復合屬性)
動態讀取: valueforkey:屬性名 、valueforkeypath:屬性名(用於復合路徑)
IOS開發核心動畫篇 核心動畫簡介
ios開發ui篇 核心動畫簡介 一 簡單介紹 core animation,中文翻譯為核心動畫,它是一組非常強大的動畫處理api,使用它能做出非常炫麗的動畫效果,而且往往是事半功倍。也就是說,使用少量的 就可以實現非常強大的功能。core animation是跨平台的,可以用在mac os x和io...
IOS核心動畫
void basicanimation calayer layer animation.duration 2 animation.delegate self animation.removedoncompletion no animation.fillmode kcafillmodeforwards...
iOS核心動畫 基礎動畫
核心動畫 在ios中核心動畫分為幾類 基礎動畫 cabasicanimation 關鍵幀動畫 cakeyframeanimation 動畫組 caanimationgroup 轉場動畫 catransition caanimation 核心動畫的基礎類,不能直接使用,負責動畫執行時間 速度的控制,本...