- 對于iOS的幾種遍歷效率,大多數(shù)開發(fā)過程中都不會去做強制要求,因為遍歷本身效率就是很高的,對于小數(shù)據(jù)而言更是沒有必要去要求哪一種了,用哪種方式遍歷看個人的習(xí)慣就好
- 常用的四種遍歷方式:
1.普通for循環(huán)遍歷
for (int i = 0; i < maxCount; i++) {
}
2.for...in循環(huán)遍歷(快速遍歷)
for (NSString *obj in tempArray) {
}
3.代碼塊遍歷
[tempArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
}];
4.枚舉器循環(huán)遍歷
NSEnumerator *enumerator=[tempArray objectEnumerator];
id obj = nil;
while (obj = [enumerator nextObject]) {
}
- 針對這幾種遍歷做了一個粗略的測試:
發(fā)現(xiàn)for...in循環(huán)遍歷相對來說,效率會高那么一點點;普通的for循環(huán)遍歷效率相對來說是效率差一些的方式;代碼塊和枚舉器遍歷效率差不多,介于for...in和普通的for循環(huán)中間。以上只是個人測試出來的結(jié)果,對于測試數(shù)據(jù)有興趣的可以自己試試~