OC不可變陣列NSArray詳解

2021-08-27 21:58:13 字數 1922 閱讀 2108

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 ...