OC中的陣列

2021-07-04 05:30:15 字數 3205 閱讀 5330

在oc中,我們用』nsarray』類和』nsmutablearray』類來表示陣列,其中『nsarray』類是『nsmuablearray』類的父類。在oc中,我們的陣列是有序的』物件』,即我們的陣列只能儲存』物件』。在oc中我們的陣列中元素型別不能是『int』、『float』、『cgpoint』等型別。

nsarray(不可變陣列)

//初始化

//建立乙個空的不可變的陣列

nsarray *array1 = [[nsarray alloc] init];

nsarray *array2 = [nsarray array];

//建立乙個裡面只有乙個元素的不可變陣列

nsarray *array3 = [nsarray arraywithobjects:@」zhoudu」];

//建立乙個裡面有多個元素的不可變陣列

nsarray *array4 = [nsarray arraywithobjects:@」zhoudu」,@」xingzhenyu」,@」panzhijing」,@」gugenggeng」, nil];

//新語法

nsarray *array5 = @[@」zhoudu」];

nsarray *array6 = @[@」zhoudu」,@」xingzhenyu」,@」panzhijing」,@」gugenggeng」];

//

nsarray *array7 = [nsarray arraywitharray:array2];

//從本地檔案中讀取陣列

nsarray *array8 = [nsarray arraywithcontentsoffile:@""];

//從網路檔案中讀取陣列

nsarray *array9 = [nsarray arraywithcontentsofurl:[nsurl urlwithstring:@""]];

//求陣列中元素的個數

nsinteger count = array6.count;

//陣列的操作

//訪問陣列中的元素

//訪問array6中的第乙個元素

nsstring *str = [array6 objectatindex:0];

for (int i = 0; i < array6.count; i ++)

//新語法訪問陣列中的元素

nsstring *str2 = array6[0];

//nsnumber類的新語法

nsnumber *number1 = [nsnumber numberwithint:5];

nsnumber *number2 = @5;

nsnumber *number3 = @yes;

nsarray *array = @[@5,@12];

//通過陣列的元素找下標

nsuinteger index = [array6 indexofobject:@"zhoudu"];

nslog(@"index = %lu",(unsigned long)index);

//判斷陣列中是否存在某個元素

bool flag = [array6 containsobject:@"zhoudu"];

//向不可變陣列中增加乙個元素,生成乙個新的陣列

nsarray *newarray1 = [array6 arraybyaddingobject:@"方劍輕"];

nsarray *newarray2 = [array6 arraybyaddingobjectsfromarray:array6];

nsstring *string = [newarray1 componentsjoinedbystring:@"^^^___^^^!!"];

nslog(@"string = %@",string);

nsarray *array11 = @[@"123",@"456",@"789",@"000"];

nsstring *string12 = [array11 componentsjoinedbystring:@"-"];

nslog(@"string = %@",string12);

nsmutablearray(可變陣列)

//初始化方法

//初始化乙個空的可變陣列

nsmutablearray *marray1 = [nsmutablearray array];

nsmutablearray *marray2 = [nsmutablearray arraywithobject:@」1」];

nsmutablearray *marray3 = [nsmutablearray arraywithobjects:@"1",@"2",@"3",@"4", nil];

nsmutablearray *marray4 = [nsmutablearray arraywithobject:marray2];

//可變陣列獨有的初始化方法

nsmutablearray *marray5 = [nsmutablearray arraywithcapacity:10];

nsmutablearray *marray6 = [nsmutablearray arraywithcontentsoffile:@""];

//在陣列末尾增加乙個元素

[marray3 addobject:@"5"];

//在陣列指定位置增加乙個元素

[marray3 insertobject:@"vincent" atindex:3];

//替換,將陣列指定位置上的元素替換成使用者想要元素

[marray3 replaceobjectatindex:2 withobject:@"sb"];

//交換,將陣列指定位置上的兩個元素交換位置

[marray3 exchangeobjectatindex:1 withobjectatindex:4];

//刪除

//刪除指定元素

[marray3 removeobject:@"1"];

//刪除指定位置上的元素

[marray3 removeobjectatindex:2];

//刪除陣列中最後乙個元素

[marray3 removelastobject];

//刪除陣列中所有元素

[marray3 removeallobjects];

for (nsstring *ele in marray3)

OC中陣列的基本操作

在oc中陣列是用來儲存物件的容器,只能儲存物件。import int main int argc,const char argv 如果在指定元素範圍裡面儲存了多個相同的元素,返回的是第乙個元素的下標 index testarray indexofobject xiaohua inrange test...

OC中陣列的遍歷方法

for迴圈,通過下標遍歷陣列元素 nsarray arr a b c d for nsinteger i 0 i arr count i 正序列舉器 從左到右的順序 把陣列的所有的元素放到列舉器裡 nsarray arr a b c d nsenumerator enum1 arr objecten...

OC中的陣列定義和方法使用

字串的建立 1 建立乙個空字串 nsstring str nsstring alloc init nsstring str nsstring string 2 以字串建立新的字串 相當於字面量 nsstring str nssting alloc initwithstring newstr nsst...