我在 NSSet 中有数据,我需要将其放入 NSArray。
我需要自己对其进行排序(同样,这来自 Core Data)还是我可以按排序顺序将其取出?
最佳答案
当您使用NSFetchRequest
检索数据时,您可以指定排序。通过设置sortDescriptors
属性为 NSSortDescriptor
的数组s。但如果你已经在 NSSet
中拥有它并且不想发出另一个获取请求,您可以使用:
[[theSet allObjects] sortedArrayUsingDescriptors:sortDescriptors];
它将创建一个临时 NSArray
当您调用allObjects
时然后是另一个排序的数组,所以它不是 100% 有效,但对于合理大小的数据集来说,开销应该可以忽略不计(并且肯定小于排序的成本)。
编辑
实际上,我错了 - NSSet 有 sortedArrayUsingDescriptors:
方法也。所以你可以调用[theSet sortedArrayUsingDescriptors:descriptors]
并一次性完成这一切。
关于iphone - NSSet 中的 NSArray - 我必须自己排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672607/