字面量語法的使用及優點

2021-06-23 02:44:06 字數 1395 閱讀 7092

對於做ios的小夥伴來說,或許會經常看到這樣的語法: nsarray *ary = @[a1,a2,a3];這就是字面量語法了

字面量語法,是從objective-c 1.0開始有的,是一種不需要寫alloc及init方法來分配並初始化物件的語法,通俗一點就是可以通過字面的文字,一眼可以看出這個物件是什麼。

並不是所有的物件都可以用字面量來建立,只有以下類可以使用:nss

tring,nsnumber,nsarray,nsdictionary

舉例:nsstring *string = @" 字面量語法";

如果我們要建立乙個整形的nsnumber型別物件,常規寫法

nsnumber *number = [nsnumber numberwithint:1];

如果我們使用字面量語法:

nsnumber *number = @1;

2種語法對比,是不是字面量語法更要簡潔,沒有多餘的語法,只包含數值,而且一看可以看出這是個什麼型別的數字

nsnumber所有型別都可以使用這個語法,例如:

nsnumber *intnumber = @1;

nsnumber *floatnumber = @2.5f;

nsnumber *doublenumber = @23.5321;

nsnumber *boolnumber = @yes;

上面是常規寫法,現在用字面量寫法:

除寫法更加簡潔了外,用字面量語法建立陣列還有乙個好處,可以有效的檢查出nil物件。舉例說明:  

id obj1 =@"abc";

id obj2 =nil;

id obj3 =@"def";

nsarray *arraya = [nsarray

arraywithobjects:obj1,obj2,obj3,nil];

nslog(@"%@",arraya);

我們列印發現,控制台只顯示abc,這是因為arraywithobjects:方法會依次處理各個引數,遇到nil便終止。

現在我們用字面量語法

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

nslog(@"%@",arrayb);

現在我們執行程式,這時候大家會發現,報錯了~~

意思是說我們插入了乙個無效的物件

怎麼樣,這個時候大家就知道有異常,能很快的去查詢錯誤了。使用字面量建立陣列,更加安全,可以及時讓我們發現錯誤~~

nsdictionary

*dic =

@;同樣的字面量語法建立字典,也可以有效的發現nil物件。

字面量語法有個小小的侷限性,就是除了字元換以外,所建立出來的物件必須屬於foundation框架才行。不過綜述,字面量語法所帶來的好處多餘上述缺點的,可以有效的提高我們程式設計效率。

ps:純手敲啊~好累

字面量語法的使用 IOS

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

新增的物件字面量語法

成員速寫 如果物件字面量初始化時,成員的名稱來自於乙個變數,並且和變數的名稱相同,則可以進行簡寫 方法速寫 物件字面初始化時,方法可以省略冒號和function關鍵字 計算屬性名 有的時候,初始化物件時,某些屬性名可能來自於某個表示式的值,在es6,可以使用中括號來表示該屬性名是通過計算得到的。co...

ios 多用字面量語法

使用字面量語法可以縮減源 長度,是其更為易讀。注意事項 用字面量語法建立陣列時要注意,若陣列元素物件中有nil,則會丟擲異常。用字面量陣列建立陣列,其效果等於是先建立了乙個陣列,然後把方括號內得所有物件都加到這個陣列中。例如 id obj1 obj1 id obj2 nil id obj3 obj3...