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 *)
state
objects:(id [])stackbuf
count:(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 и позже.