你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> iOS總結_IOS開發部分語法的簡化寫法

iOS總結_IOS開發部分語法的簡化寫法

編輯:關於IOS

下列簡化寫法是IOS6.0以後的新寫法

NSNumber

//簡化前的寫法:

NSNumber *value1;

value1 = [NSNumber numberWithInt:12345];

value1 = [NSNumber numberWithFloat:123.45f];

value1 = [NSNumber numberWithDouble:123.45];

value1 = [NSNumber numberWithBool:YES];

//簡化後的寫法:

NSNumber *value2;

value2 = @12345;

value2 = @123.45f;

value2 = @123.45;

value2 = @YES;

//裝箱表達式也可以采用類似的寫法:

NSNumber *piOverSixteen1 = [NSNumber numberWithDouble: ( M_PI / 16 )];

NSString *path1 = [NSString stringWithUTF8String: getenv("PATH")];

//可以分別簡寫為:

NSNumber *piOverSixteen2 = @( M_PI / 16 );

NSString *path2= @( getenv("PATH") );

//對於字符串表達式來說,需要注意的是表達式的值一定不能是NULL,否則會拋出異常。

NSArray

//對於NSArray的初始化來說,有非常多的寫法,這裡就不再一一羅列,我們直接看新的寫法

NSArray *array;

array = @[]; //空數組

array = @[ a ]; //一個對象的數組

array = @[ a, b, c ]; //多個對象的數組

//編譯器在處理時:

array = @[ a, b, c ];

//編譯器生成的代碼:

id objects[] = { a, b, c };

NSUInteger count = sizeof(objects)/ sizeof(id);

array = [NSArray arrayWithObjects:objects count:count];

//注意,如果a,b,c對象有nil的話,運行時會拋出異常,這點和原來的處理方式不同,編碼的時候要多加小心。

NSDictionary

//同樣,對於字典這個數據結構來說,有很多種初始化的方式,我們來看新的寫法:

NSDictionary *dict;

dict = @{}; //空字典

dict = @{@"key1":@"value1" }; //包含一個鍵值對的字典

dict = @{ @"key1" : @"value1", @"key2" : @"value", @"key3" : @"value3" }; //包含多個鍵值對的字典

//采用上述寫法構建的容器都是不可變的,如果需要生成可變容器,可以傳遞-mutableCopy消息。例如

NSMutableArray *mutablePlanets = [@[

@"Mercury", @"Venus", @"Earth",

@"Mars", @"Jupiter", @"Saturn",

@"Uranus", @"Neptune"

] mutableCopy];

NSMutableDictionary *dic=[@{ @"key1" : @"value1", @"key2" : @"value", @"key3" : @"value3" } mutableCopy];

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