一、簡介
OC數組隻能存放OC對象,不能存放非OC對象類型(例如基本資料類型、結構體、枚舉等)。
C語言數組有一個缺點即數組中隻能存放同種資料類型的元素。
NSArray:不可變數組
NSMutableArray:可變數組
二、NSArray
NSArray:不可變數組
1.建立方式
2. NSArray的通路
3. ★★★NSArray的周遊★★★
首先,我們快速建立一個OC數組
NSArray *array = @[@"first", @"second", @"third", @"forth"];
1>正常方法周遊
先列出我們最容易想到的(對比C語言數組周遊的方法)
優化前
①第16行快速建立OC數組:NSArray *array = @[@"first", @"second", @"third", @forth];
② 第18行 array.count 是調用了get方法;
③ 優點:數組下标和數組元素都是可見的;
④ 缺點:每周遊一個元素,都會調用一次 array.count,重複調用,影響性能。
優化後
通過使用 objectAtIndex: 方法擷取對應下标的數組元素
2>快速周遊 for(id obj in array)
① 為了可以看到數組下标,做出以下優化 ②
3>調用block進行周遊
接下來介紹 BOOL *stop
stop是一個BOOL類型的指針變量:
當它的值為YES(或者任何其他非零值)時,表示周遊停止。
當它的值為NO(或者零值)時,表示周遊不會停止。
4>通過疊代器周遊數組
反序疊代器
三、NSMutableArray
1.簡介
作用:可以往數組内部添加或删除内容。
注意:NSMutableArray繼承自NSArray,幾乎擁有NSArray的一切方法。
2.基本用法