ios 遍歷數組的方法

jopen 9年前發布 | 1K 次閱讀 Objective-C IOS

目前所知有七種方法

    //第一種  
    [arr enumerateObjectsUsingBlock: ^(id obj, NSUInteger idx, BOOLBOOL *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]); } 

個人比較喜歡第一種方法

注意:

①  其中第二種方法由于是并行,所以打印出來的東西是隨機的,并不是按照順序打印的

②  第三種容易引起主線程堵塞,所以最好自己另外創建一個線程

來自:http://blog.csdn.net/lv_ruanruan/article/details/42426307

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!