Мне нужно выбрать случайный индекс из числа, включенного в NSIndexSet
.Случайный индекс от NSIndexSet
Для справки,
(Получается -anyObject не гарантирует возврат случайного объекта из набора.)NSSet
определяет
-anyObject
метод (
documentation) для выбора произвольных объектов из набора. Есть ли аналогичная функциональность в
NSIndexSet
?
Если нет, то как он может быть реализован?
Примечание: Я нашел реализацию here, но она включает итерацию по элементам индекса. В идеале я бы хотел избежать перечисления.
Редактировать: К моему разочарованию, документация NSSet
утверждает, что -anyObject
не гарантируется возвращать случайный объект из набора. К сожалению, тот же вывод можно сделать из NSIndexSet
documentation, regarding the implementation of -getIndexes:maxCount:inIndexRange:
Я не вижу другого способа получения значений из индекса, отличного от перечисления. – trojanfoe
Очень жаль. Я надеялся, что NSIndexSet, выполнив концептуально сходную роль с другими наборами базовых наборов, включит такую базовую функциональность. – insys
На самом деле есть 'getIndexes: maxCount: inIndexRange:', но это тоже может быть дорого, если только вы не захотите его кэшировать. – trojanfoe