NSFastEnumeration
Быстрый протокол перечисления NSFastEnumeration должен быть принят и реализован объектами, используемыми в сочетании с для конструкции языка, используемой в сочетании с объектами Какао.
Абстрактный класс NSEnumerator обеспечивает использующую реализацию удобства nextObject возвратить элементы по одному. Для получения дополнительной информации посмотрите Быстрое Перечисление.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.5 и позже.
-
countByEnumeratingWithState (_: objects:count:) - countByEnumeratingWithState:objects:count:ТребуемыйВозвраты ссылкой массив C объектов, по которым отправитель должен выполнить итерации, и как возвращаемое значение число объектов в массиве. (требуемый)
Объявление
Swift
func countByEnumeratingWithState(_state: UnsafeMutablePointer<NSFastEnumerationState>, objectsstackbuf: AutoreleasingUnsafeMutablePointer<AnyObject?>, countlen: Int) -> IntObjective C
- (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)stateobjects:(id [])stackbufcount:(NSUInteger)lenПараметры
stateКонтекстная информация, привыкшая в перечислении к, в дополнение к другим возможностям, гарантирует, что не был видоизменен набор.
stackbufМассив C объектов, по которым отправитель должен выполнить итерации.
lenМаксимальное количество объектов возвратиться в
stackbuf.Возвращаемое значение
Число объектов возвратилось в
stackbuf. Возвраты0когда закончена итерация.Обсуждение
Структура состояния, как предполагается, локальной памяти штабеля, таким образом, можно переделать переданный в структуре состояния к еще одному подходящему для итерации.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
Типы данных
-
Это определяет структуру, используемую в качестве контекстной информации в
NSFastEnumerationпротокол.Объявление
Swift
struct NSFastEnumerationState { var state: UInt var itemsPtr: AutoreleasingUnsafeMutablePointer<AnyObject?> var mutationsPtr: UnsafeMutablePointer<UInt> var extra: (UInt, UInt, UInt, UInt, UInt) }Objective C
typedef struct { unsigned long state; id *itemsPtr; unsigned long *mutationsPtr; unsigned long extra[5]; } NSFastEnumerationState;Обсуждение
Для получения дополнительной информации посмотрите
countByEnumeratingWithState:objects:count:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
