iOS 陣列排序和遍歷

2021-07-05 21:47:38 字數 1325 閱讀 1355

1、擷取陣列:

nsarray

*arr2 = [arr subarraywithrange:nsmakerange(0,

4)];

2、找出索引

nsinteger index = [arr indexofobject:<#(nonnull id)#>];

3、讓陣列中每個物件都呼叫某個方法

[arr makeobjectsperformselector:@selector(@"testselector") withobject:@"test"];

其中testselector 是陣列中物件的乙個方法名稱

4、陣列拼接成字串

nsstring

*string = [arr componentsjoinedbystring:

@"=="];

5、遍歷陣列

[arr enumerateobjectsusingblock:^(id

_nonnull obj, nsuinteger idx, bool * _nonnull stop)

nslog(@"

姓名:%@\n

年齡:%@\n

工齡:%@",st.name,st.age,st.workyear);]

6、陣列排序

//這得到的乙個新的陣列原陣列未改變

nsarray *orderarr = [arr sortedarrayusingcomparator:^nscomparisonresult(id

_nonnull obj1, id

_nonnull obj2)

return  result;

}];//這表示對原陣列額重新排列

[arr sortusingcomparator:^nscomparisonresult(id

_nonnull obj1, id

_nonnull obj2)

return  result;

}]; 7、高階排序

//排序的條件表示按照年齡的公升序其次按照工齡的降序排列

nssortdescriptor *agedescriptor = [[nssortdescriptor alloc] initwithkey:@"age" ascending:yes];

nssortdescriptor *workage = [[nssortdescriptor alloc] initwithkey:@"workyear" ascending:no];

nsarray *sortarr = @[agedescriptor,workage];

[arr sortusingdescriptors:sortarr];

ios 遍歷和排序

main.m oc 遍歷和排序 homework created by dllo on 16 2 25.import import person.h int main int argc,const char argv nsmutablestring str nsmutablestring strin...

陣列遍歷排序

集合的遍歷 nsset 集合 nsdictionary dictionary nsdictionary dictionarywithobjectsandkeys 11 a 22 b 33 c nil nslog dictionary for int i 0 i dictionary.count i ...

iOS陣列排序

一 利用nssortdescriptor物件陣列排序 nssortdescriptor可以根據陣列中物件的屬性來排序,為排序陣列的要排序的屬性建立nssortdescriptor物件,將所有這些物件放入乙個陣列中,該陣列將會在後面用作引數。使用nsarray類的sortedarrayusingdes...