今天給大家列出kvc 的一些特性
我們可以任意修改 類中的值
包括一些私有的變數 kvc的功能很強大
是 //cocoa 的大招 其中有很多的特性 用法
下面列出了集中
講解了一下//key 和keypath的區別
我們在做專案的時候用的特別多
利用kvc 可以隨意修改乙個物件的屬性或者成員變數(並且私有的也可以修改)
先建立幾個類
kvc 的用法有註解 做了5個小demo 來說明kvc 的基本用法
書
#import @inte***ce book : nsobject
@property(nonatomic,assign)double price;
@property(nonatomic,copy)nsstring *name;
@end
#import "book.h"
@implementation book
@end
骨頭
#import "book.h"
@implementation book
@end
#import @inte***ce bone : nsobject
@property(nonatomic,strong)nsstring *type;
@end
人
#import @class dog;
@inte***ce person : nsobject
@property(nonatomic,copy)nsstring *name;
@property(nonatomic,assign)int age;
@property(nonatomic,strong)dog *dog;
@property(nonatomic,strong)nsarray *books;
- (void)printheight;
@end
#import "person.h"
@implementation person
- (void)printheight
@end
#import @class bone;
@inte***ce dog : nsobject
@property(nonatomic,copy)nsstring *name;
@property(nonatomic,strong)bone *bone;
@end
#import "dog.h"
@implementation dog
@end
#import #import "person.h"
#import "dog.h"
#import "bone.h"
#import "book.h"
int main(int argc, const char * argv)
//
// nslog(@"%@",names);
//
return 0;
}}/**
* kvc的取值
*/void test4()
void test3()
//key 和keypath的區別
void test2()
void test()
Oc KVC 鍵值編碼
是一種間接地訪問物件例項變數的機制 通過setvalue forkey 間接地為物件的例項變數做賦值 通過valueforkey 間接地取到物件的例項變數 首先定義兩個類person類 和phone類 1.先檢查有沒有name這個例項變數 2.如果沒有,會檢查同名的帶 的例項變數 3.如果還沒有,會...
OC KVC與KVO簡單介紹
kvc即key value coding鍵值編碼,是指ios的開發中,可以允許開發者通過key名直接訪問物件的屬性,或者給物件的屬性賦值。inte ce person nsobject property nonatomic,assign int age property nonatomic,copy...
C 特性總結
1 c 中類分為兩部分,成員變數和成員函式。成員函式位於 區,不占用類物件的空間。成員變數占用類物件的空間。2 每個成員函式有乙個this指標,一般情況下是成員函式的第乙個引數。3 物件一般情況下也是有資料對齊的。4 虛函式 如果乙個類中有虛函式,則會為此類生成乙個虛表 位於 區 然後在每個類物件的...