Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c &引用;NSSet allObjects“;这是随机排序吗?_Objective C_Ios_Cocoa Touch_Sorting_Nsset - Fatal编程技术网

Objective c &引用;NSSet allObjects“;这是随机排序吗?

Objective c &引用;NSSet allObjects“;这是随机排序吗?,objective-c,ios,cocoa-touch,sorting,nsset,Objective C,Ios,Cocoa Touch,Sorting,Nsset,我有以下代码: self.temporaryImageArray = [(NSSet *)[[array objectAtIndex:0] images] allObjects] 数组保存我的CoreData模型中的带对象。它有一个名为“images”的属性NSSet 现在我使用这个temporaryImageArray通过时间戳来确定图像是否需要更新。我遇到了一些非常随意的行为,我现在的问题是: [NSSet allObjects]是否以无顺序随机返回集合中的对象 有没有办法防止这种情况发生

我有以下代码:

self.temporaryImageArray = [(NSSet *)[[array objectAtIndex:0] images] allObjects]
数组保存我的CoreData模型中的
对象。它有一个名为“images”的属性
NSSet

现在我使用这个
temporaryImageArray
通过时间戳来确定图像是否需要更新。我遇到了一些非常随意的行为,我现在的问题是:

[NSSet allObjects]
是否以无顺序随机返回集合中的对象


有没有办法防止这种情况发生,或者让它按顺序退回?这将大大降低代码的复杂性。

一个集合没有顺序。然而,在10.7(Lion)中,有一个类。这在iOS 4.0中不可用。

NSSet
是无序集合。它不知道其对象的“顺序”是什么。因此,当您调用
-allObjects
时,它将无序返回它们

请注意,有关
-allObjects
的文档说明:

包含集合成员的数组,如果集合没有成员,则为空数组未定义数组中对象的顺序。


(emphasis mine)

现在iOS 5中提供了SensoredSet和NSMutableOrderedSet,让您随时了解最新情况

这是我的建议