ios 遍歷陣列的八種方法
//第一種
[arr enumerateObjectsUsingBlock: ^(id obj, NSUInteger idx, BOOL *stop){
NSLog(@"%ld,%@",idx,[arr objectAtIndex:idx]);
}];
//第二種
dispatch_apply([arr count], dispatch_get_global_queue(0, 0), ^(size_t index){//並行
NSLog(@"%ld,%@",index,[arr objectAtIndex:index]);
});
//第三種
dispatch_apply([arr count], dispatch_get_main_queue(), ^(size_t index){//序列,容易引起主執行緒堵塞,可以另外開闢執行緒
NSLog(@"%ld,%@",index,[arr objectAtIndex:index]);
});
//第四種
for (NSString*str in arr) {
NSLog(@"%@",str);
}
//第五種,do-while
int i = 0;
do {
NSLog(@"%@",[arr objectAtIndex:i]);
i++;
} while (i<[arr count]);
//第六種,while-do
int j = 0;
while (j<[arr count]) {
NSLog(@"%@",[arr objectAtIndex:j]);
j++;
}
//第七種,普通for迴圈
for (int m = 0; m<[arr count]; m++) {
NSLog(@"%@",[arr objectAtIndex:m]);
}
//第八種,NSEnumerator (謝謝大劉124585858的補充)
提供正反向遍歷
- (nullable ObjectType)nextObject;
@property (readonly,copy) NSArray *allObjects;
NSArray *iosArray = @[ @"I", @"O", @"S"];
NSEnumerator *enumerator = [iosArray objectEnumerator];//正向遍歷
NSEnumerator *enumerator = [iosArray reverseObjectEnumerator];//反向遍歷
id object;
while ((object = [enumerator nextObject]) != nil) {
//處理列舉器中的資料
NSLog(@"%@", object);
}
個人比較喜歡第一種方法
注意:
① 其中第二種方法由於是並行,所以列印出來的東西是隨機的,並不是按照順序列印的
② 第三種容易引起主執行緒堵塞,所以最好自己另外建立一個執行緒
③ 本人學識淺,目前所知的就這幾種,歡迎補充
相關文章
- 遍歷陣列的幾種方法陣列
- JS中陣列的遍歷方法(3種)JS陣列
- 陣列遍歷方法陣列
- 在PHP中陣列遍歷的三種方法PHP陣列
- php遍歷關聯陣列的三種方法PHP陣列
- java陣列遍歷的方法Java陣列
- OC中陣列、字典的遍歷的三種方法陣列
- iOS開發中陣列常用的五種遍歷方式iOS陣列
- Jvascript陣列迭代,遍歷的方法陣列
- 遍歷PHP陣列的6種方式PHP陣列
- php手冊 php陣列的遍歷有哪幾種方式?php陣列如何遍歷?PHP陣列
- JavaScript 陣列遍歷方法的對比JavaScript陣列
- ***PHP遍歷陣列的方法foreachPHP陣列
- 陣列遍歷陣列
- c++遍歷陣列的多種方式C++陣列
- 陣列常見的遍歷迴圈方法、陣列的迴圈遍歷的效率對比陣列
- JavaScript 的 4 種陣列遍歷方法: for VS forEach() VS for/in VS for/ofJavaScript陣列
- 有關js各種陣列遍歷JS陣列
- 遍歷物件和陣列的方法總結物件陣列
- php陣列中常用的多種遍歷方式PHP陣列
- 遍歷陣列物件陣列物件
- go語言中遍歷陣列的方法有哪些Go陣列
- 物件和陣列的遍歷物件陣列
- 陣列的三種宣告方式總結、多維陣列的遍歷、Arrays類的常用方法總結陣列
- js 遍歷陣列方式JS陣列
- 遍歷陣列的常用方法forEach,filter,map等陣列Filter
- JS中陣列與物件的遍歷方法例項JS陣列物件
- php中使用while遍歷二維陣列的方法PHPWhile陣列
- JAVA多維陣列的遍歷Java陣列
- jquery裡遍歷普通陣列和多維陣列的方法及例項jQuery陣列
- iOS遍歷陣列相同值元素到另一陣列中同一物件的子陣列iOS陣列物件
- $.each()方法遍歷陣列和物件簡單物件陣列物件
- JavaScript遍歷陣列詳解JavaScript陣列
- php陣列迴圈遍歷PHP陣列
- java8 對list集合中的物件遍歷,重新賦值兩種方法,遍歷某個屬性返回陣列Java物件賦值陣列
- java陣列如何遍歷全部的元素Java陣列
- JS中遍歷陣列、物件的方式JS陣列物件
- for in語句遍歷陣列中的元素陣列