Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка класса OSCollectionIterator

Опции
Развертывание Target:

На этой странице
Язык:

OSCollectionIterator

OSCollectionIterator определяет непротиворечивый механизм для итерации через объекты OSCollection. Это подробно останавливается на основном интерфейсе OSIterator для разрешения ассоциации итератора с определенным набором.

Для использования OSCollectionIterator Вы создаете его с набором, который будет выполнен с помощью итераций, затем вызовет OSIterator, пока это возвращает объект:

<пред> OSCollectionIterator * итератор = OSCollectionIterator:: withCollection (myCollection); OSObject * объект; в то время как (возражают = итератор-> getNextObject ()) {//делают что-то с объектом}//дополнительный если (! итератор-> isValid ()) {//сообщают, что набор изменился во время итерации} итератор-> выпуск (); </пред>

Обратите внимание на то, что при итерации ассоциативных наборов, объекты, возвращенные getNextObject ключи; если Вы хотите работать с присваиваемыми значениями, просто искать их в наборе с ключами.

Используйте ограничения

За очень немногими исключениями в Наборе I/O все находящиеся в Libkern классы C++, функции и макросы небезопасны использовать в основном контексте прерывания. Консультируйтесь с документацией Набора I/O, связанной с основными прерываниями для получения дополнительной информации.

OSCollectionIterator не обеспечивает защиты параллелизма.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Не применимый

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Выпуски или освобождают любые ресурсы, используемые объектом OSCollectionIterator.

    Объявление

    C++

    virtual void free();

    Обсуждение

    Эта функция не должна быть вызвана непосредственно; использовать release вместо этого.

  • Усовершенствования к и возвраты следующий объект в итерации.

    Объявление

    C++

    virtual OSObject * getNextObject();

    Возвращаемое значение

    Следующий объект в итеративном контексте, NULL если итератор больше не действителен, если существует никакой следующий объект или.

    Обсуждение

    Эта функция сначала вызывает isValid и возвраты NULL если возвращается та функция false.

    Подклассы должны реализовать эту чистую виртуальную функцию для проверки на законность с isValid, и затем усовершенствовать итеративный контекст к следующему объекту (если таковые имеются) и возврат, которые затем возражают, или NULL если нет ни одного.

  • Инициализирует OSCollectionIterator для предоставленного объекта коллекции.

    Объявление

    C++

    virtual bool initWithCollection( const OSCollection *inColl);

    Параметры

    inColl

    OSCollection-полученный объект коллекции, чтобы быть iteratated.

    Возвращаемое значение

    true если инициализация была успешна, или false при отказе.

    Обсуждение

    Не для общего использования. Используйте статический метод создания экземпляра withCollection вместо этого.

  • Проверки, что набор не был изменен во время итерации.

    Объявление

    C++

    virtual bool isValid();

    Возвращаемое значение

    true если итератор допустим для продолжительного использования, false иначе (обычно, потому что итеративный контекст был изменен).

  • Сбрасывает итератор к началу набора, как будто это было просто создано.

    Объявление

    C++

    virtual void reset();

  • Создает и инициализирует OSCollectionIterator для предоставленного объекта коллекции.

    Объявление

    C++

    static OSCollectionIterator * withCollection( const OSCollection *inColl);

    Параметры

    inColl

    OSCollection-полученный объект коллекции, чтобы быть iteratated.

    Возвращаемое значение

    Новый экземпляр OSCollectionIterator, или NULL при отказе.