你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 編寫高質量的iOS代碼(繼續更新)

編寫高質量的iOS代碼(繼續更新)

編輯:IOS開發綜合

1.多用字面量語法,少用與之等價的辦法 1.字面量字符串的創立

NSString *str =@"I Love You!";

NSString *str = [[NSString alloc] init....]

上邊的一種就是字面量 2.字面數值

NSNumber *intNum = [NSNumbernumberWithInt:1];

NSNumber *floatNum = [NSNumbernumberWithFloat:2.0f];

NSNumber *intNum1 =@1;

NSNumber *floatNum1 [email protected];

下邊的兩種就是字面量數值


3.字面數組

NSArray *arr = [NSArrayarrayWithObjects:@"1",@"2",@"3",nil];

//拿數組中的第一個元素

NSString *obj = [arr objectAtIndex:0];

NSArray *arr1 =@[@"1",@"2",@"3"];

//拿數組中的第一個元素

NSString *obj1 = arr1[0];

下邊的是字面數組

4.字面字典

NSDictionary *dic = [NSDictionarydictionaryWithObjectsAndKeys:@"I",@"1",@"Love",@"2",@"You",@"3",nil];

NSString *value1 = [dicobjectForKey:@"1"];


NSDictionary *dic1 =@{@"1":@"I",@"2":@"Love",@"3":@"You"};

NSString *value2 = dic1[@"2"];



下邊的是字面字典


5.可變數組和字典


經過字面量的取下標操作

NSArray *arrTest =@[@"1",@"2",@"3"];

NSMutableArray *mutableArr = [NSMutableArrayarrayWithArray:arrTest];

NSDictionary *dicTest =@{@"1":@"I",@"2":@"Love"};

NSMutableDictionary *mutableDic = [NSMutableDictionarydictionaryWithDictionary:dicTest];

[mutableArr replaceObjectAtIndex:0withObject:@"100"];

mutableArr[0] =@"100";

[mutableDic setObject:@"You"forKey:@"1"];

mutableDic[@"1"] =@"You";

經過上邊的字面量,我們可以看出:復雜簡明,經過取下標訪問數組或許字典,代碼更復雜,容易維護,推崇運用字面量。

2.多用類型常量,少用宏定義(這個我之前細說過這個問題)

明天提到另一點:在頭文件中extern一個語句,例如:

externconst int itemHeight;

在完成文件中

constint itemHeight = 100;

我們的編譯器在看到頭文件中的extern關鍵字之後,就能明白如何在引入此頭文件的代碼中處置該常量了。這個關鍵字就是通知編譯器,在全局符號表中將會有一個名字叫itemHeight的符號。換句話說,編譯器無需檢查其定義,即允許代碼運用此常量。由於它知道,當鏈接成二進制文件之後,一定是可以找到這個常量的。


3.屬性中的atomatic與nonatomaic

atomatic與nonatomatic區別:

具有atomaic特質的獲取辦法會經過鎖定機制來確保其操作的原子性。也就是說,假如兩個線程讀寫同一屬性,那麼不管何時,總能看到無效的屬性值,假如不加鎖(也就是運用nonatomatic),那麼當其中一個線程正在改寫某屬性值時,另外一個線程也許會忽然闖入,把還沒修正好的屬性值讀取出來。發作這種狀況,線程讀到的屬性值能夠就不對了。這麼一聽,對啊,那趕忙用atomaic啊,用什麼nonatomaic?

編寫高質量的IOS代碼(持續更新)【編寫高質量的iOS代碼(繼續更新)】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved