//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...