iOS之NSArray使用集合

2021-07-30 10:46:47 字數 3660 閱讀 2335

**********=1.陣列中元素按公升序或降序列排列

//公升序

nsarray

* tempids = [spceidsarr  

sortedarrayusingcomparator

:^nscomparisonresult

(nsstring

* obj1,

nsstring

* obj2) ];

**********=2.將string字串轉換為array陣列

nsarray  *array = [str componentsseparatedbystring:@","];

***************==3.block遍歷陣列

[superview.

subviews

enumerateobjectsusingblock

:^(__kindof

uiview

* _nonnull

view,

nsuinteger

idx,

bool

*_nonnull

stop)

}];***************4.

//1)

建立乙個空陣列

nsarray

*arr1 = [

nsarray

array];

//2)

建立陣列

,只有乙個元素

nsarray

*arr2 = [

nsarray

arraywithobject

:@"1"];

//3)

建立陣列

,有多個元素

// nil

表示陣列賦值結束

nsarray

*arr3 = [

nsarray

arraywithobjects

:@"one"

,@"two",@1

,nil];

//4)

呼叫物件方法

,建立陣列

//nil nil null  nsnull

nsarray

*arr4 = [[

nsarray

alloc

]initwithobjects

:@"three"

,[nsnull

null

],@"four"

,nil];

//5)

用乙個陣列可以建立另外乙個陣列

nsarray

*arr5 = [

nsarray

arraywitharray

:arr3];

nsarray

*arr3 = [nsarray arraywithobjects:

@"one"

,@"two",@1

,@"three"

,nil];

//1)

獲取陣列的長度

count

獲取陣列的元素的個數

nslog(

@"%ld"

,arr3.count);

//2)

根據下標

,獲取下標對應的物件

nslog(

@"%@"

,[arr3 objectatindex:

3]);

//3)

返回元素的下標

nsuinteger

loc = [arr3 indexofobject:

@"three"];

nslog(

@"%ld"

,loc);

//4)

陣列中是否包含了某個元素 if

([arr3 containsobject:

@"four"

])else

nsarray

簡化形式:

//用簡化的方式

,來定義和訪問陣列元素

//1)

用簡化的方式

,定義陣列 //

格式: @[

陣列元素]

nsarray

*arr =

@[@"1"

,@"one"

,@"3",@4

,@"one"];

nsstring

*str =[

arrobjectatindex:2

]; //2)

用簡化的方式訪問陣列元素

str = arr[

1];  

//c語言形式的陣列元素訪問

nsarray

的遍歷: //

對陣列進行遍歷

//1)

普通的方式

,通過下標訪問

for(

inti=

0; i

nslog(

@"-> %@"

,arr[i]); }

//2)

快速列舉法

for迴圈的增強形式

for(nsstring * str

inarr)

//3)

使用block

的方式,

進行訪問

// 引數:  

陣列元素

, 元素下標

, 是否停止

//stop:yes 

會停止, stop:no

不會停止

[arr enumerateobjectsusingblock:^(

idobj, nsuinteger idx,

bool

*stop)

else

}];nsarray

讀寫檔案:

寫入 nsarray *array = [nsarray     arraywithobjects:

@"one"

,@"zbz"

,@"cgx"

,@"sb"

,@"cjk"

,@"senni"

,nil];

//把nsarray

中的內容

,寫入到檔案中

一種特殊的檔案格式

bool

iswrite =  [array writetofile:

@"/users/lambo/desktop/arr.plist"

atomically:

yes]; if

(iswrite)

**********nsset轉換成nsarray*****=

/如果想排序以後再取,可以這樣:

nsset *users = [groupuser users];

nssortdescriptor *sd = [[nssortdescriptor alloc] initwithkey:@"displayname" ascending:yes];

nsarray *sortdescriptors = [nsarray arraywithobjects:sd, nil];

nsarray *userarray = [users sortedarrayusingdescriptors:sortdescriptors];

//如果直接取,可以這樣:

nsarray *userarray = [users  allobjects];

iOS開發之NSArray的過濾

找出乙個陣列 nsfilemanager filemanager nsfilemanager defaultmanager nsstring defaultpath nsbundle mainbundle resourcepath nserror error nsarray directorycon...

ios 開發 NSArray 排序

針對nsstring字串的排序 方法一 nsarray ary a3 a1 a2 a10 a24 nslog ary nsarray myary ary sortedarrayusingcomparator nsstring obj1,nsstring obj2 nslog myary 結果 a3,...

IOS判斷NSArray是否為空

場景描述 判斷乙個集合是否為空,如果不為空執行a,如果為空執行b j a實現方法 public void exec else ios如何實現?先看下下面 執行結果 void viewdidload void show nsarray aryelse if ary else if ary.count ...