iOS開發之UI基礎 KVC

2021-07-05 01:49:28 字數 2222 閱讀 1073

k

vc ——

key value coding

1.字典轉模型

= dic[@"answer"];

= dic[@"icon"];

= dic[@"title"];

= dic[@"options"];

//kvc 把字典中的值,賦給當前物件制定的屬性(@"answer")

[self setvalue:dic[@"answer"] forkeypath:@"answer"];

//遍歷字典中所有的key,並把和物件屬性對應的key 賦值

[self

setvaluesforkeyswithdictionary

:dic];

2.kvc設定與取出值

blperson

*person = [[

blperson

alloc

] init

];//kvc設定值

[person

setvalue

:@"zs"

forkeypath

:@"name"

];[person

setvalue

:@18

forkeypath

:@"age"

];//kvc取值

[person

valueforkeypath

:@"name"

];[[person

valueforkeypath

:@"age"

] intvalue

];//把物件轉成字典,(可能要儲存到plist中)

nsdictionary

*dic = [person

dictionarywithvaluesforkeys:@[

@"name"

,@"age"]]

3.kvc與陣列

blperson

*p1 = [[

blperson

alloc

] init

];p1.

name

= @"zs"

;p1.

age

= 18;

blperson

*p2 = [[

blperson

alloc

] init

];p2.

name

= @"ls";

p2.age

= 19;bl

person

*p3 = [[

blperson

alloc

] init

];p3.

name

= @"ww"

;p3.

age

= 16

;nsarray

*persons =

@[p1,p2,p3];

//取出陣列中所有人的名字

//方法1 迴圈 取出

//方法2

nsarray

*names = [persons

valueforkeypath

:@"name"];

4.kvc

多級key

path

blperson

*p1 = [[

blperson

alloc

] init

];p1.

name

= @"zs"

;p1.

age

= 18;bl

book

*book = [[

blbook

alloc

] init

];book.

name

= @"金瓶梅"

;p1.

book

= book;

//根據person獲取book的名字

//1[p1.

book

valueforkeypath

:@"name"

];//2

//nsstring *name = p1.book.name;

//3 區分大小寫

nsstring

*name = [p1

valueforkeypath

:@"book.name"

]; 

iOS開發系列 UI基礎 KVC

這些知識是ui初級學習的,目前我還在學習中,適合初學者看 kvc key value coding 也就是鍵值編碼 是一種獲取值和設定值的方式 當我們建立乙個類檔案,為這個類設定成員屬性的時候 建立乙個 人 類 有名字 name 年齡 age 兩個公有的成員屬性 因為使用 property關鍵字,會...

IOS開發UI基礎之綜合應用

好處 inte ce viewcontroller property nonatomic,strong nsarray shops end implementation viewcontroller 重寫getter方法 nsarray shops return shops end 獲取plist檔...

IOS開發UI基礎 倒影

1.用複製圖層實現,搞個uiimageview展示,然後複製uiimageview.2.注意 複製圖層只能複製子層,但是uiimageview只有乙個主層,並沒有子層,因此不能直接複製uiimageview.3.正確做法 應該把uiimageview新增到乙個uiview上,然後複製uiview的層...