IOS Foundation基礎知識

2021-06-28 16:52:44 字數 2327 閱讀 2708

1. 如果某個物件obj為nil,在執行obj的方法時

int i = [obj methodwhichreturnint]      這時的 i=0 ,程式執行正常

如果執行函式返回值為結構體,如:cgpoint p = [obj  getlocation] 則p為undifined

2.object 的自省機制

iskindofclass:返回變數是否為指定類的物件(包含子類)。

ismemberofclass:返回變數是否為指定類的物件(不包含子類)。

respondstoselector: 返回變數是否包含指定的方法。

例子:if ( [obj respondstoselector:@selector(shootat:) ] )

//  @selector(方法名)  返回值的型別為 sel      sel shootatselector = @selector(shootat:);

3.通過performselector:  或者 performselector:  withobject:  這兩個方法讓變數執行特定方法。

例子:[obj performselector:shootselector];

[obj performselector:shootatselector  withobject:coordinate];

對於:nsarray,可以讓陣列內部的資料全部指定某個方法

[array makeobjectsperformselector:shootselector];

[array makeobjectsperformselector:shootselector withobject:target];

這種情況在uibutton中應用比較多

[button addtarget:self action:@selector(digitpressed:) …]

4.在nslog的使用%@時,會預設呼叫[obj description]  

nslog(@「array contents are %@「,myarray);     //%@會呼叫  [myarray description]

- (nsstring *)description 是乙個nsobject基本方法,必要時需要進行重寫。

5.在迴圈 遍歷nsarray時,一定要使用id型別,在遍歷過程中再判斷nsarray每個元素的型別進行強制轉換。

for ( id obj in myarray )

}6. nsnumber初始化

nsnumber *three = @3;

nsnumber *n = [nsnumber numberwithint:36];

7. nsdictionary  以鍵值對的方式進行儲存

初始化: nsdictionary *colors = @;

uicolor *colorobject = colors[colorstring];

//或者是

- (id)objectforkey:(id)key;

8. nsuserdefaults  再啟動應用時用於儲存一些使用者的簡單資料,實質上是乙個nsdictionary,預設獲取的方法為:

[[nsuserdefaults standarduserdefaults] setarray: rvarray forkey: @「recentlyviewed」 ];

再新增完成資料後需要執行:[[nsuserdefaults standarduserdefaults] synchronize];

9. nsrange  是乙個c語言的結構體型別

typedef struct nsrange;

//其中nsnotfound  就是乙個location型別     

//下面的程式為查詢greeting字串中是否包含  hi

nsstring *greeting = @「hello world」;

nsstring *hi = @「hi」;

nsrange r = [ greeting  rangeofstring: hi ];

if ( r.location == nsnotfound )

10. uilabel  有乙個屬性 attributedtext ,這時個nsattributedstring型別,並不是乙個mutable型別,所以,

如果我們需要更改label文字的屬性時,只能時西安複製,再重新賦值。

nsmutableattributedstring *labeltext = [mylabel attributedtext mutablecopy];

[labeltext setattributes: …];

mylabel.attributedtext = labeltext;

iOS Foundation 框架基類

ios foundation 框架基類 太陽火神的漂亮人生 本文遵循 署名 非商業用途 保持一致 創作公用協議 太陽火神的漂亮人生 本部落格專注於 敏捷開發及移動和物聯裝置研究 ios android html5 arduino pcduino,基類 title topic date data ty...

IOS Foundation 集合型別例項分析

nsarray array nsarray arraywithobjects one two three nil nslog d array.count 訪問陣列的第乙個元素 nslog arrayobjectatindex 0 最後乙個元素位置為array.count 1 nslog array ...

IOS Foundation 字串例項分析

1,基本字串操作 void basicstringmanipulation 2,字串字串操作 void showcasesubstrings 字串替代 nsstring replaced mystringstringbyreplacingoccurrencesofstring withstring ...