iOS陣列相關問題

2021-08-01 21:48:47 字數 3684 閱讀 1551

1.快速建立陣列

nsarray*arrary1=[[nsarrayalloc]initwithobjects:@"one",nil];

nslog(@"array1:%@",arrary1);

nsarray*arrary2=[nsarrayarraywithobject:@"one"];

nsarray*arrary3=[nsarrayarraywithobjects:@"one",@"two",nil];

nslog(@"%@\n------\n%@\n------\n%@",arrary1,arrary2,arrary3);

2.根據已有陣列建立新的陣列

nsarray*array4_1=[nsarrayarraywitharray:arrary2];

nsarray*array4_2=[[nsarrayalloc]initwitharray:arrary2];

nslog(@"%@\n------\n%@",array4_1,array4_2);

3.獲取陣列中元素的個數

nsuintegercount1= [arrary3count];//獲取陣列中元素的個數

nslog(@"array3.count:%ld",count1);

4.獲取陣列中指定位置的元素

nsarray*array5=[nsarrayarraywithobjects:@"a",@"b",@"c",@"d",@"e",@"f",nil];

nsstring*sub1=[array5objectatindex:5];

nslog(@"%@",sub1);

5.根據元素找在陣列中的位置

nsuintegerindex1=[array5indexofobject:@"b"];

nslog(@"%ld",index1);

idfirst = [array5firstobject];//返回陣列中的第乙個元素

idlast = [array5lastobject];//返回陣列中的最後乙個元素

nslog(@"%@-----%@",first,last);

6.將已有陣列中的元素新增其他元素放到新的陣列中

nsarray*array6=[array5arraybyaddingobject:@"g"];

nsarray*array7=[array6arraybyaddingobjectsfromarray:arrary2];

nslog(@"%@",array6);

nslog(@"%@",array7);

7.將陣列中的元素拼接成字串

nsstring*string2=[array6componentsjoinedbystring:@"-->"];

nslog(@"%@",string2);

8.判斷陣列中是不是包含某個元素

if([array6 containsobject:@"f"])

else

nslog(@"不包含");

9.判斷兩個陣列中是不是由相同的元素

boolisequal=[array6isequaltoarray:array7];

nslog(@"%d",isequal);

nsmutablearray是子類

nsmutablearray *mutablearray0=[nsmutablearray arraywithobjects:@"a",@"b",@"c",@"d",nil];

1.增加

[mutablearray0 addobject:@"e"];//增加乙個

nsarray*addarry=@[@"x",@"y"];//

[mutablearray0 addobjectsfromarray:mutablearray0];//增加多個

nsmutablearray *mutablearray=[nsmutablearrayarraywithobjects:@"one",@"two",nil];

2.追加乙個元素到末尾

[mutablearray addobject:@"three"];

nslog(@"想陣列中新增元素:%@",mutablearray);

3.插入乙個元素到陣列中指定位置

[mutablearray insertobject:@"first"atindex:1];

nslog(@"向陣列中插入元素:%@",mutablearray);

4.將陣列中指定位置的元素替換掉

[mutablearray replaceobjectatindex:1withobject:@"one1"];

nslog(@"陣列中元素的替換:%@",mutablearray);

5.陣列中元素的刪除

[mutablearray removeobject:@"one1"];//刪除指定元素

[mutablearray removeobjectatindex:1];//刪除指定位置的元素

[mutablearray removelastobject];//刪除最後乙個元素

[mutablearrayremoveallobjects];//刪除所有元素

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

nsarray *rarray=[nsarray arraywithobjects:@"1",@"3",nil];

[mutablearray1removeobjectsinarray:rarray];//根據陣列刪除

6.迴圈遍歷陣列中元素

nsmutablearray  *mutablearray2 = [nsmutablearray arraywithobjects:@"iphone",@"android",@"winphone",@"meizu",@"samsung",nil];

for ( int i=0; insstring *string=[mutablearray2 objectatindex:i];

nslog(@"index:%d -> object:%@",i,string);

}

//oc獨有的for…in…語法

for(nsstring *string in mutablearray2)

//陣列判斷是否含有該元素

bool iscontain = [mark_array containsobject:[valueobjectatindex:indexpath.row]];

nslog(@"%d",iscontain);

IOS陣列相關

1 建立陣列 建立乙個空的陣列 nsarray array nsarray array 建立有1個元素的陣列 array nsarray arraywithobject 123 建立有多個元素的陣列 array nsarray arraywithobjects a b c nil nil nsarr...

陣列相關問題

1.陣列作為函式引數 規定 如果將二維陣列作為引數傳遞給函式,那麼在函式的引數宣告中必須指明陣列的列數,陣列的行數沒有太大關係,可以指定也可以不指定。因為函式呼叫時傳遞的是乙個指標,它指向由行向量夠成的一維陣列。因此二維陣列作為函式引數正確寫法如下所示 void func int array 3 1...

iOS中螢幕相關問題

1x 3.5英吋普通屏裝置 iphone4之前的iphone 320 480pixel320 480pt 2x 3.5英吋retina顯示屏裝置有 iphone4和iphone4s640 960pixel320 480pt r4 4.0英吋retina顯示屏 裝置 iphone5,iphone5c,...