ios 多用字面量語法

2021-09-25 14:27:23 字數 1023 閱讀 5304

使用字面量語法可以縮減源**長度,是其更為易讀。

注意事項:用字面量語法建立陣列時要注意,若陣列元素物件中有nil,則會丟擲異常。用字面量陣列建立陣列,其效果等於是先建立了乙個陣列,然後把方括號內得所有物件都加到這個陣列中。

例如:id obj1 = @"obj1";

id obj2 = nil;

id obj3 = @"obj3";

nsarray *arraya = [nsarray arraywithobjects:obj1, obj2, obj3, nil];

nsarray *arrayb = @[obj1, obj2, obj3];

arraya能建立出來,但是arrayb會丟擲異常。因為,arraywithobjects方法會依次處理各個引數,直到發現nil為止,遇到物件為nil時,該方法會提前結束。然而arrayb在遇到物件為nil時,會丟擲異常。這個微妙得差別,使用字面量語法更為安全。丟擲異常令應用程式終止執行,這比建立好陣列之後才發現元素個數少了要好。向陣列中插入nil通常說明程式有錯,而通過異常可以更快地發現這個錯誤。

在建立字典時(nsdictionary),字典中的物件和鍵值必須都是oc物件。所以用字面量就比用非字面量方便很多了。例如用字面量語法生成字典:

nsdictionary *dic1 = @;

用非字面量語法生成字典:

nsdictionary *dic2 = [nsdictionary dictionarywithobjectsandkeys:@"2014-09-25 00:00:00", @"timestamp", [nsnumber numberwithfloat:9], @"relateprofit", [nsnumber numberwithfloat:1234], @"relatesevenpercent", nil];

要點:1.應該使用字面量語法來建立字串、數值、陣列、字典。與建立此類物件的常規方法相比,這麼做更加簡明扼要。

2.應該通過取下標操作來訪問陣列下標或字典中得鍵所對應的元素。

3.用字面量語法建立陣列或字典時,若值中有nil,則會丟擲異常。

多用字面量語法,少用與之等價的方法(1)

原文發表於 編寫objective c程式時,總會用到某幾個類,它們屬於foundation框架。雖然從技術上來說,不用foundation框架也能寫出objective c 但實際上卻經常要用到此框架。這幾個類是nsstring nsnumber nsarray nsdictionary。從類名上...

字面量語法的使用 IOS

使用oc時,經常會用到nsstring,nsnumber,nsarray,nsdictionary,下面是關於他們的字面量語法的使用。1 字面數值 有時需要把整數,浮點數,布林值封入oc物件中 一般寫法 nsnumber num nsnumber numberwithint 1 使用字面量語法 ns...

第3條 多用字面量語法,少用與之等價的方法

名詞翻譯 語法糖 syntactic sugar 是指計算機語言中與另外一套語法等效,但是開發者用起來卻更加方便的語法。語法糖可令程式更易讀,減少 出錯機率。字面數值 nsnumber number 1 字面量陣列 nsarray 下標 下標訪問元素 字面量字典 key 可變陣列與字典 mutarr...