問題是陣列引起的那麼就從陣列開始吧
1.一般陣列的初始化和訪問陣列元素是這樣的
在之前的部落格中我是這樣初始化nsarray的:
1 //nsarray的便利初始化獲取陣列的元素2 nsarray *array1 = [[nsarray alloc] initwithobjects:@"aaa", @"bbb", @"ccc", nil];
3 //nsarray的便利構造器
4 nsarray *array2 = [nsarray arraywithobjects:@"111", @"222", @"333", nil];
//獲取相應索引的元素簡化後的陣列初始化和訪問的做法如下id element = [array1 objectatindex:0];
nslog(@"array1_count = %d, array[0] = %@", count, element);
1 //nsarray的定義2.對字典(nsdictionary)的簡化2 nsarray *array = @[@"lu", @"da", @"shi", @yes, @123];
3 int count = (int)[array count];
4
5 for (int i = 0; i < count; i++)
6
也引用我之前部落格中得一段**吧
//不可變字典的初始化我們還可以這樣做nsdictionary *dictionay = [nsdictionary dictionarywithobjectsandkeys:@"value1", @"key1", @"value2", @"key2", nil];
id value = [dictionay objectforkey:@"key1"];
nslog(@"key1 => %@", value);
//nsdictionary的定義簡化3.對nsnumber簡化nsdictionary *dictionary = @;
nslog(@"key2 => %@", dictionary[@"key2"]);
我們可以這樣做
把基本型別包裝成物件的便利建構函式我們也可以這樣做,說明:在char轉換為nsnumber是存的是ascii碼的形式,c輸出為9712 -(id) initwithchar : (char) value;
-(id) initwithint : (int) value;
-(id) initwithfloat : (float) value;
-(id) initwithbool: (bool) value;
把基本資料型別包裝成物件的便利構造器
+(id) numberwithchar : (char) value;
+(id) numberwithint : (int) value;
+(id) numberwithfloat : (float) value;
+(id) numberwithbool : (bool) value;
345//nsnumber的簡化
nsnumber *a = @123;
nsnumber *b = @11.2;
nsnumber *c = @(
'a'
);
nslog(
@"a = %@, b = %@, c = %@"
, a, b, c);
Objective C中的語法糖
xcode 4.4中llvm compiler 4.0 引入的新特性 2012年wwdc發布的東西 到這小菜本人就有柳暗花明又一村的感覺啦 就可以好好的偷一下懶啦 於是系統的總結了一下引入的新的特性,話不多說,coder說話哪能少的了code呢!ludashi 走起 雖然是12年的東西,這不剛學蠻 ...
Python中語法糖及帶參語法糖
在python中,符號常被稱作語法糖 裝飾器 在某函式定義時,用以包裝該函式,以達到擷取,控制該函式的目的。def d f print d.k f 此處保留了傳進來的原函式 f def f x return k x 2 return f 此處不能寫成f x f是函式控制代碼,如果帶 則呼叫,這裡只返...
C 中的語法糖
語法糖,意指那些沒有給計算機語言新增新功能,而只是對人類來說更 sweet 的語法,意在使得程式設計風格更易讀。c 2.0,3.0發布的新特性,除了泛型不是語法糖,其他所有的新特性幾乎都是語法糖。但初學者往往因為不了解這些語法糖,從而在閱讀 的時候,難以理解其真正的運作方式。最著名的莫過於lamda...