objective-c數組的七種遍歷方法總結

//第一種
[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]);
}
相關文章
相關標籤/搜索