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