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