KVC相關簡介

2021-06-27 18:28:59 字數 1096 閱讀 1143

//kvc (key value coding)根據字串的名稱去設定或者獲取類的屬性的機制

person *zhangsan = [[person alloc]init];

//通過set方法設定張三的名稱

[zhangsan setname:@"zhangsan"];

//通過get方法獲取張三的名稱

nsstring *name = [zhangsan name];

nslog(@"%@",name);

//通過kvc來設定張三的名稱

//設定張三的name欄位的值為lisi

//引數1:為該字段設定的內容

//引數2:物件的欄位名

[zhangsan setvalue:@"lisi" forkey:@"name"];

//通過kvc來獲取

//獲取物件zhangsan中name欄位的值

name = [zhangsan valueforkey:@"name"];

nslog(@"%@",name);

//呼叫物件的私有方法

//沒有在標頭檔案中申明的方法

//[zhangsan performselector:@selector(test) withobject:nil];

dog *dog = [[dog alloc]init];

[dog setvalue:@"旺財" forkey:@"name"];

nslog(@"dog.name=%@",[dog valueforkey:@"name"]);

//設定zhangsan的私有字段

[zhangsan setvalue:dog forkey:@"dog"];

//設定張三的dog的名稱

[zhangsan setvalue:@"旺旺" forkeypath:@"dog.name"];

//獲取張三物件的私有欄位dog物件裡儲存的name欄位的值

nslog(@"zhangsan.dog.name=%@",[zhangsan valueforkeypath:@"dog.name"]);

//這個方法在當前控制項的frame被修改了後主動呼叫

- (void)layoutsubviews

KVC實現原理簡介

kvc,全稱 key value coding。kvc運用了isa swizzling技術。isa swizzling就是型別混合指標機制。kvc主要通過isa swizzling來實現其內部定位查詢。isa指標 is a kind of 指向維護分發表的物件的類。該分發表實際上包含了指向實現類中的...

KVC實現原理簡介

kvc,全稱 key value coding。kvc運用了isa swizzling技術。isa swizzling就是型別混合指標機制。kvc主要通過isa swizzling來實現其內部定位查詢。isa指標 is a kind of 指向維護分發表的物件的類。該分發表實際上包含了指向實現類中的...

KVC 與KVO 簡介 與 作用 用法

一 kvc 1.什麼是kvc kvc key value coding 鍵值編碼。2.kvc的作用 1 為物件賦值 或者獲取值valueforkey animus anim animus new anim setvalue 六六 forkey name 為私有屬性賦值 例 改變uitextfield...