NSArray от NSSet - Нужно ли мне сортировать его самостоятельно?
У меня есть данные в NSSet, и мне нужно получить его в NSArray.
Нужно ли его сортировать самостоятельно (опять же, это произошло из Core Data), или я могу получить его в отсортированном порядке?
Ответ 1
Вы можете указать сортировку при извлечении данных с помощью NSFetchRequest, установив свойство sortDescriptors в массив NSSortDescriptor s. Но если вы уже имеете его в NSSet и не хотите делать другой запрос на выборку, вы можете использовать:
Он будет создавать промежуточный NSArray при вызове allObjects, а затем другой отсортированный массив, поэтому он не будет на 100% эффективнее, но накладные расходы должны быть незначительными для наборов данных разумного размера (и, конечно, стоимость сортировки).
Изменить
Собственно, я ошибся - у NSSet есть метод sortedArrayUsingDescriptors:. Поэтому вы можете просто позвонить [theSet sortedArrayUsingDescriptors:descriptors] и сделать все за один раз.
Ответ 2
Вы должны отсортировать его самостоятельно, но это не очень сложно...