NSEnumerator

今天在無意中看到MBProgressHUD源碼解析中有這么一段代碼:
+ (MB_INSTANCETYPE)HUDForView:(UIView *)view {
NSEnumerator *subviewsEnum = [view.subviews reverseObjectEnumerator];
for (UIView *subview in subviewsEnum) {
if ([subview isKindOfClass:self]) { return (MBProgressHUD *)subview; } }
return nil;}
我感覺對NSEnumerator算是比較陌生吧,然后查了一下,應(yīng)該算是效能較高的一種遍歷NSArray的方式,直接測試了一下,由于簡單測試功能,速度方面感覺無明顯效果.

NSMutableArray<NSString *>* arr =  [NSMutableArray array];
arr[0] = @"0";
arr[1] = @"1";
arr[2] = @"2";
arr[3] = @"3";
arr[4] = @"4";

NSEnumerator* arrEnum =  [arr objectEnumerator];
id object;
while (object = [arrEnum nextObject]) {
    NSLog(object);
      操作
}

實際上,調(diào)用了objectEnumerator方法的時候,返回的是一個id類型的object,有時候在編譯階段還不知道具體是什么類的話,可以直接打印嘗試一下,使用nextObject這個方法可以得到一個指針,要注意的是 使用這種方式遍歷 遍歷過程中不可以對數(shù)組進行增刪操作 否則將會出現(xiàn)一些未知的錯誤

另外,我們最常用的循環(huán)方式還有

  • 使用for循環(huán)加 count 方法遍歷
    int i = 0;for(i = 0; i < [array count]; i++){
    [array objectAtIndex:i]
    操作
    }
  • 使用for in方式遍歷
    for(NSString *str in array){
    操作
    }

另外:其實這個感覺跟Java中的類的遍歷非常相似:

  • Java中三種迭代是否能刪除(由于本人正在學(xué)習Java,隨便復(fù)習一下):
    • 普通for循環(huán),可以刪除,但是索引要--
    • 迭代器,可以刪除,但是必須使用迭代器自身的remove方法,否則會出現(xiàn)并發(fā)修改異常
    • 增強for循環(huán)不能刪除
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市缸浦,隨后出現(xiàn)的幾起案子隅肥,更是在濱河造成了極大的恐慌,老刑警劉巖荠耽,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異比藻,居然都是意外死亡铝量,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門银亲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來慢叨,“玉大人,你說我怎么就攤上這事务蝠∨男常” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵馏段,是天一觀的道長轩拨。 經(jīng)常有香客問我,道長院喜,這世上最難降的妖魔是什么气嫁? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮够坐,結(jié)果婚禮上寸宵,老公的妹妹穿的比我還像新娘。我一直安慰自己元咙,他們只是感情好梯影,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著庶香,像睡著了一般甲棍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赶掖,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天感猛,我揣著相機與錄音七扰,去河邊找鬼。 笑死陪白,一個胖子當著我的面吹牛颈走,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播咱士,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼立由,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了序厉?” 一聲冷哼從身側(cè)響起锐膜,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎弛房,沒想到半個月后道盏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡文捶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年荷逞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拄轻。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖伟葫,靈堂內(nèi)的尸體忽然破棺而出恨搓,到底是詐尸還是另有隱情,我是刑警寧澤筏养,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布斧抱,位于F島的核電站,受9級特大地震影響渐溶,放射性物質(zhì)發(fā)生泄漏辉浦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一茎辐、第九天 我趴在偏房一處隱蔽的房頂上張望宪郊。 院中可真熱鬧,春花似錦拖陆、人聲如沸弛槐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乎串。三九已至,卻和暖如春速警,著一層夾襖步出監(jiān)牢的瞬間叹誉,已是汗流浹背鸯两。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留长豁,地道東北人钧唐。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像蕉斜,于是被迫代替她去往敵國和親逾柿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗宅此。 張土汪:刷leetcod...
    土汪閱讀 12,744評論 0 33
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理机错,服務(wù)發(fā)現(xiàn),斷路器父腕,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法弱匪,類相關(guān)的語法,內(nèi)部類的語法璧亮,繼承相關(guān)的語法萧诫,異常的語法,線程的語...
    子非魚_t_閱讀 31,631評論 18 399
  • 接下來的一段時間是我非常忙碌的日子枝嘶,首先歐冠支持馬競干掉皇馬帘饶,NBA總決賽看西部狂虐東部,法網(wǎng)看納豆強勢回歸沖擊賽...
    唐詩0525閱讀 352評論 0 0
  • 超級英雄:守護者or毀滅者 超級英雄們的目標一直是打擊罪犯,維護人類安全竞阐。但是缴饭,在他們堅持正義的背后確實無辜平民的...
    洛小柒閱讀 509評論 2 1