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