1、nssarray(子類nsmutablearray) 、nsset(子類nsmutableset)、 nsdictionary(子類nsmutabledictionary)這幾個類都是集合類。
2、c語言型別的陣列只能存放一種型別的資料。為此引入oc陣列nsarray,以物件導向的方法運算元據,可以存放各種型別的物件。(只能存放oc物件,不能存放非oc物件型別,例如基本資料型別,結構體,列舉都不能存放)。
3、oc陣列分類:oc陣列也分為可變(nsarray) ,不可變(nsmutablearray)。 可變是指:陣列內的資料可可以經陣列操作進行改變。不可變陣列是指:內容在建立陣列的同時指定,陣列建立以後以後將永遠不可以再改變。例如 nsarray *array=[nsarray array] ;建立了乙個沒指定內容的空陣列,那麼array以後永遠是空陣列,永遠無法改變。也就是說nsarray陣列的元素必須在建立陣列時就要進行初始化。
4、不可變陣列nsarray的使用方式:
(1)使用類方法arraywithobjects建立陣列,舉例如下:
nsarray *array=[nsarray arraywithobjects:@「jack」,@「rose」,nil];切記:使用arraywithobjects方法時在最後乙個物件的後面一定要加nil空指標。它是陣列結束的標誌,在nil之前的元素都是陣列的內容。
(2)nsarray不可以存放空值即nil,nil只能有乙個且只能放在末尾作為陣列結束的標誌。nsarray只可以存放oc物件型別。
(3)如果nsarray物件的內部只存放乙個物件的話,結尾不用加nil指標作為結束標誌,只有在存放兩個以及多個物件資料時才加nil。
5、不可變陣列nsarray自帶的方法:
(1)返回存放的元素個數。nsarray物件可以呼叫自身的count方法返回陣列自己內部物件資料的個數。可以用[nsarray物件 count]或nsarray物件.count 直接返回個數值。
(2)返回指定下標位置的物件。第一種方式可以用objectatindex方法。用[nsarray物件 objectatindex:位置下標]返回乙個oc物件。第二種方式直接用c語言陣列的格式 即nsarray物件[位置下標]
就可返回指定位置的物件,假設nsarray物件為array,array[4];
(3)根據物件返回下標位置。方法:indexofobject:obj 即找出obj元素在陣列中的下標。
(4)快速建立乙個nsarray物件。用arraywithobjects方法過於麻煩,可以直接用nsarray *array=@[@「jack」,@「rose」,nil];代替即可,此種方式不需要加nil。注意若不用arraywithobjects方法建立則不用加結束標誌nil。
6、nsarray陣列的遍歷:
(1)一般方式:nsarray *array=@[@「jom」,@「rose」];
for(int i=0; i
*stop=yes就相當於c語言for或switch中的break關鍵字。
7、全部列印物件元素:直接列印陣列物件即可;即nslog(@"%@",array); // array 為nsarray型別陣列
**驗證,例項如下:
//
// main.m
// nsarrayexample
////
#import void test1()
void test2()
{// nsarray的幾種遍歷方式
nsarray *array=[nsarray arraywithobjects:@"aaa",@"bbb",@"ccc", nil];
// 第一種:普通方式
for(int i=0;i
執行結果如下:
NSArray 不可變陣列 Objective C
陣列是有序的物件集合,一般情況下,乙個陣列中的元素都是相同型別的。類似可變字串與不可變字串,陣列也有可變與不可變之分。nsarray 不可變陣列 常用方法 id arraywithobjects obj1,obj2,nil 建立乙個新的陣列,obj1,obj2.是他的元素物件,以nil物件結尾 bo...
Object C 中的可變陣列和不可變陣列
在oc中,我們用 nsarray 類 和 nsmutablearray 類來表示陣列,其中,nsarray 類 是 nsmutablearray 類的父類。在oc中,我們陣列是有序的 物件 的集合,即我們的陣列只能儲存 物件 在oc中我們的陣列中元素型別不能是 int float cgpoint 等...
oc 29 可變陣列
陣列長度不固定,可以隨便往裡面新增或者刪除元素。1.建立陣列 nsmutablearray arraym nsmutablearray array 2.給陣列新增元素 只能是oc物件 void addobject id anobject 3.如何刪除陣列元素 import int main int ...