suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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

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

ringa_leeringa_lee2772 Tage vor677

Antworte allen(6)Ich werde antworten

  • PHP中文网

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

    oc的for in 快速枚举遍历的时候是按照元素在容器内的顺序(NSArray中元素的顺序是你添加的顺序,NSSetNSDictionry中元素的顺序是按照底层算法进行排序的与你添加的顺序不同)进行枚举的。

    要注意的是使用for in快速枚举NSMutableArray这类可变对象时要注意不能对容器进行修改,否则会导致遍历器抛出异常导致程序崩溃。

    Antwort
    0
  • ringa_lee

    ringa_lee2017-04-17 17:42:23

    从头到尾按顺序

    Antwort
    0
  • 迷茫

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

    有序的。与类型有关,比如数组就是有序,而字典什么的就是无序的。

    Antwort
    0
  • 高洛峰

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

    讲道理的话是有序的。。。

    Antwort
    0
  • 天蓬老师

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

    应该是有序的

    Antwort
    0
  • 巴扎黑

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

    用 for-in 去遍历容器时:

    • NSArray,是按照数组 index 的顺序来遍历。

    • NSDictionary,是通过遍历字典的 keys 数组,再通过 valueForKey: 来获取 value。

    • NSSet,是无序的。

    Antwort
    0
  • StornierenAntwort