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 *)stateobjects:(id [])stackbufcount:(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(statestate: 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 и позже.
