搜尋

首頁  >  問答  >  主體

objective-c - iOS,for in快速枚举,遍历时是有序还是随机的?

for in快速枚举,遍历时是有序还是随机的?

ringa_leeringa_lee2772 天前681

全部回覆(6)我來回復

  • PHP中文网

    PHP中文网2017-04-17 17:42:23

    oc的for in 快速枚舉遍歷的時候是按照元素在容器內的順序(NSArray中元素的順序是你添加的順序,NSSetNSDictionry中元素的順序是按照底層演算法進行排序的與你新增的順序不同)進行枚舉的。 NSArray中元素的顺序是你添加的顺序,NSSetNSDictionry中元素的顺序是按照底层算法进行排序的与你添加的顺序不同)进行枚举的。

    要注意的是使用for in快速枚举NSMutableArray

    要注意的是使用for in快速枚舉NSMutableArray這類可變物件時要注意不能對容器進行修改,否則會導致遍歷器拋出異常導致程式崩潰。 #🎜🎜#

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 17:42:23

    從頭到尾依序

    回覆
    0
  • 迷茫

    迷茫2017-04-17 17:42:23

    有序的。與類型有關,例如數組就是有序,而字典什麼的就是無序的。

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 17:42:23

    講道理的話是有序的。 。 。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:42:23

    應該是有序的

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:42:23

    用 for-in 去遍歷容器時:

    • NSArray,是依照陣列 index 的順序來遍歷。

    • NSDictionary,是透過遍歷字典的 keys 數組,再透過 valueForKey: 來取得 value。

    • NSSet,是無序的。

    回覆
    0
  • 取消回覆