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

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

Разработчик

Ссылка платформы CoreFoundation ссылка CFRunLoop

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

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

Ссылка CFRunLoop

CFRunLoop возражает источникам мониторов ввода к задаче и управления отгрузками, когда они становятся готовыми к обработке. Примеры входных источников могли бы включать устройства ввода данных пользователем, сетевые соединения, периодические или задержанные временем события и асинхронные обратные вызовы.

Три типа объектов могут контролироваться циклом выполнения: источники (Ссылка CFRunLoopSource), таймеры (Ссылка CFRunLoopTimer), и наблюдатели (Ссылка CFRunLoopObserver). Для получения обратных вызовов, когда этим объектам нужна обработка Вы должны первое место эти объекты в цикл выполнения с CFRunLoopAddSource, CFRunLoopAddTimer, или CFRunLoopAddObserver. Можно позже удалить объект из цикла выполнения (или лишить законной силы его) прекратить получать его обратный вызов.

Каждый источник, таймер и наблюдатель, добавленный к циклу выполнения, должны быть связаны с один или несколько режимы цикла выполнения. Режимы определяют, какие события обрабатываются циклом выполнения во время данной итерации. Каждый раз, когда цикл выполнения выполняется, он делает так в определенном режиме. В то время как в том режиме, цикл выполнения обрабатывает только события, связанные с источниками, таймерами и наблюдателями, связанными с тем режимом. Вы присваиваете большинство источников выполненному режиму цикла по умолчанию (определяемый kCFRunLoopDefaultMode постоянный), который используется для обработки событий, когда приложение (или поток) неактивно. Однако система определяет другие режимы и может выполнить цикл выполнения в тех других режимах для ограничения, какие источники, таймеры и наблюдатели обрабатываются. Поскольку режимы цикла выполнения просто указаны как строки, можно также определить собственные режимы для ограничения обработки событий

Базовая Основа определяет специальный псевдорежим, названный общими режимами, позволяющими Вам связывать больше чем один режим с данным источником, таймером или наблюдателем. Для указания общих режимов используйте kCFRunLoopCommonModes постоянный для режима при конфигурировании объекта. Каждый цикл выполнения имеет свой собственный независимый набор общих режимов и режима по умолчанию (kCFRunLoopDefaultMode) всегда элемент набора. Для добавления режима к набору общих режимов используйте CFRunLoopAddCommonMode функция.

Существует точно один выполненный цикл на поток. Вы не создаете и не уничтожаете цикл выполнения потока. Базовая Основа автоматически создает его для Вас по мере необходимости. Вы получаете цикл выполнения текущего потока с CFRunLoopGetCurrent. Вызвать CFRunLoopRun для выполнения цикла выполнения текущего потока в режиме по умолчанию до, цикл выполнения останавливается с CFRunLoopStop. Можно также вызвать CFRunLoopRunInMode выполнять цикл выполнения текущего потока в указанном режиме в течение промежутка времени набора (или пока цикл выполнения не останавливается). Если требуемый режим имеет по крайней мере один источник или таймер для контроля, цикл выполнения может только работать.

Выполненные циклы могут быть выполнены рекурсивно. Можно вызвать CFRunLoopRun или CFRunLoopRunInMode из любой выноски цикла выполнения и создают вложенные выполненные активации цикла на стеке вызовов текущего потока. Вы не ограничиваетесь, в которых режимах можно работать из выноски. Можно создать другую активацию цикла выполнения, работающую в любом доступном режиме цикла выполнения, включая любые режимы, уже работающие выше в стеке вызовов.

Приложения какао полагаются на CFRunLoop для реализации их собственного высокоуровневого цикла событий. При записи приложения можно добавить источники, таймеры и наблюдателей к их объектам цикла выполнения и режимам. Ваши объекты будут тогда контролироваться как часть регулярного цикла событий приложения. Используйте getCFRunLoop метод NSRunLoop получить соответствие CFRunLoopRef ввести. В приложениях Углерода используйте GetCFRunLoopFromEventLoop функция.

Для получения дополнительной информации о том, как выполненные циклы ведут себя, посмотрите Циклы Выполнения в Поточной обработке Руководства по программированию.

Функции

  • Возвращает объект CFRunLoop для текущего потока.

    Объявление

    Swift

    func CFRunLoopGetCurrent() -> CFRunLoop!

    Objective C

    CFRunLoopRef CFRunLoopGetCurrent ( void );

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

    Цикл выполнения текущего потока. Владение соблюдает Получить Правило.

    Обсуждение

    Каждый поток имеет точно один выполненный цикл, связанный с ним.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CFRunLoopGetMain

  • Возвращает основной объект CFRunLoop.

    Объявление

    Swift

    func CFRunLoopGetMain() -> CFRunLoop!

    Objective C

    CFRunLoopRef CFRunLoopGetMain ( void );

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

    Основной цикл выполнения. Владение соблюдает Получить Правило.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Выполняет объект CFRunLoop текущего потока в его режиме по умолчанию неопределенно.

    Объявление

    Swift

    func CFRunLoopRun()

    Objective C

    void CFRunLoopRun ( void );

    Обсуждение

    Выполнения цикла выполнения текущего потока в режиме по умолчанию (см. Режим Цикла Выполнения По умолчанию) до цикла выполнения останавливаются с CFRunLoopStop или все источники и таймеры удалены из выполненного режима цикла по умолчанию.

    Выполненные циклы могут быть выполнены рекурсивно. Можно вызвать CFRunLoopRun из любой выноски цикла выполнения и создают вложенные выполненные активации цикла на стеке вызовов текущего потока.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Выполняет объект CFRunLoop текущего потока в определенном режиме.

    Объявление

    Swift

    func CFRunLoopRunInMode(_ mode: CFString!, _ seconds: CFTimeInterval, _ returnAfterSourceHandled: Boolean) -> Int32

    Objective C

    SInt32 CFRunLoopRunInMode ( CFStringRef mode, CFTimeInterval seconds, Boolean returnAfterSourceHandled );

    Параметры

    mode

    Режим цикла выполнения для выполнения. mode может быть любой произвольный CFString. Вы не должны явно создавать режим цикла выполнения, несмотря на то, что режим цикла выполнения должен содержать по крайней мере один источник или таймер для выполнения.

    seconds

    Отрезок времени для выполнения цикла выполнения. Если 0, только одна передача сделана через цикл выполнения перед возвратом; если многократные источники или таймеры будут готовы стрелять сразу, только один (возможно два, если Вы будете источником версии 0), то будет запущен, независимо от значения returnAfterSourceHandled.

    returnAfterSourceHandled

    Флаг, указывающий, должен ли цикл выполнения выйти после обработки одного источника. Если false, цикл выполнения продолжает обрабатывать события до seconds передал.

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

    Значение, указывающее причину цикл выполнения, вышло. Возможные значения описаны ниже.

    Обсуждение

    Выполненные циклы могут быть выполнены рекурсивно. Можно вызвать CFRunLoopRunInMode из любой выноски цикла выполнения и создают вложенные выполненные активации цикла на стеке вызовов текущего потока. Вы не ограничиваетесь, в которых режимах можно работать из выноски. Можно создать другую активацию цикла выполнения, работающую в любом доступном режиме цикла выполнения, включая любые режимы, уже работающие выше в стеке вызовов.

    Цикл выполнения выходит со следующими возвращаемыми значениями при обозначенных условиях:

    • kCFRunLoopRunFinished. Режим цикла выполнения mode не имеет никаких источников или таймеров.

    • kCFRunLoopRunStopped. Цикл выполнения был остановлен с CFRunLoopStop.

    • kCFRunLoopRunTimedOut. Временной интервал seconds переданный.

    • kCFRunLoopRunHandledSource. Источник был обработан. Это условие выхода только применяется когда returnAfterSourceHandled true.

    Вы не должны указывать kCFRunLoopCommonModes постоянный для mode параметр. Выполненные циклы всегда работают в определенном режиме. Вы указываете общие режимы только при конфигурировании наблюдателя цикла выполнения и только в ситуациях, где Вы хотите, чтобы тот наблюдатель работал больше чем в одном режиме.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Будит ожидание объект CFRunLoop.

    Объявление

    Swift

    func CFRunLoopWakeUp(_ rl: CFRunLoop!)

    Objective C

    void CFRunLoopWakeUp ( CFRunLoopRef rl );

    Параметры

    rl

    Цикл выполнения для пробуждения.

    Обсуждение

    Цикл выполнения засыпает, когда он ожидает источника или таймера для становления готовым стрелять. Если никакой источник или огни таймера, цикл выполнения остается там, пока он не испытывает таймаут или явно разбужен. Если цикл выполнения изменяется, такие как новый добавленный источник, необходимо разбудить цикл выполнения, чтобы позволить ему обрабатывать изменение. Исходное использование версии 0 CFRunLoopWakeUp заставить цикл выполнения просыпаться после установки источника, который будет сообщен, если они хотят источник, обработанный сразу.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Вызывает объект CFRunLoop прекратить работать.

    Объявление

    Swift

    func CFRunLoopStop(_ rl: CFRunLoop!)

    Objective C

    void CFRunLoopStop ( CFRunLoopRef rl );

    Параметры

    rl

    Цикл выполнения для остановки.

    Обсуждение

    Эта функция силы rl чтобы прекратить работать и возврат управляют к вызвавшей функции CFRunLoopRun или CFRunLoopRunInMode для текущей активации цикла выполнения. Если цикл выполнения вкладывается с выноской от одной активации, начинающей другое выполнение активации, только из самой внутренней активации выходят.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает булево значение, указывающее, ожидает ли цикл выполнения события.

    Объявление

    Swift

    func CFRunLoopIsWaiting(_ rl: CFRunLoop!) -> Boolean

    Objective C

    Boolean CFRunLoopIsWaiting ( CFRunLoopRef rl );

    Параметры

    rl

    Цикл выполнения для исследования.

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

    true если rl не имеет никаких событий для обработки и блокирует, ожидая источника или таймера для становления готовым стрелять; false если rl или не выполняет или в настоящее время обрабатывает источник, таймер или наблюдателя.

    Обсуждение

    Эта функция полезна только для тестирования состояния цикла выполнения другого потока. Когда вызвано с циклом выполнения текущего потока, эта функция всегда возвращается false.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Добавляет объект CFRunLoopSource к режиму цикла выполнения.

    Объявление

    Swift

    func CFRunLoopAddSource(_ rl: CFRunLoop!, _ source: CFRunLoopSource!, _ mode: CFString!)

    Objective C

    void CFRunLoopAddSource ( CFRunLoopRef rl, CFRunLoopSourceRef source, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для изменения.

    source

    Источник цикла выполнения для добавления. Источник сохраняется циклом выполнения.

    mode

    Режим цикла выполнения, к которому можно добавить source. Используйте константу kCFRunLoopCommonModes добавить source к набору объектов, контролируемых всеми общими режимами.

    Обсуждение

    Если source источник версии 0, это вызовы функции schedule функция обратного вызова, указанная в структуре контекста для source. Посмотрите CFRunLoopSourceContext для большего количества подробных данных.

    Источник цикла выполнения может быть зарегистрирован в многократных циклах выполнения и выполненных режимах цикла одновременно. Когда источник сообщен, какой бы ни выполненный цикл, который, оказывается, обнаруживает сигнал сначала, запустит источник.

    Если rl уже содержит source в mode, эта функция ничего не делает.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает булево значение, указывающее, содержит ли режим цикла выполнения определенный объект CFRunLoopSource.

    Объявление

    Swift

    func CFRunLoopContainsSource(_ rl: CFRunLoop!, _ source: CFRunLoopSource!, _ mode: CFString!) -> Boolean

    Objective C

    Boolean CFRunLoopContainsSource ( CFRunLoopRef rl, CFRunLoopSourceRef source, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для исследования.

    source

    Источник цикла выполнения, который можно искать.

    mode

    Режим цикла выполнения rl в котором можно искать. Используйте константу kCFRunLoopCommonModes искать source в наборе объектов, контролируемых всеми общими режимами.

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

    true если source находится в режиме mode из цикла выполнения rl, иначе false.

    Обсуждение

    Если source был добавлен к kCFRunLoopCommonModes, эта функция возвраты true если mode также kCFRunLoopCommonModes или любой из режимов, добавленный к набору общих режимов.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Удаляет объект CFRunLoopSource из режима цикла выполнения.

    Объявление

    Swift

    func CFRunLoopRemoveSource(_ rl: CFRunLoop!, _ source: CFRunLoopSource!, _ mode: CFString!)

    Objective C

    void CFRunLoopRemoveSource ( CFRunLoopRef rl, CFRunLoopSourceRef source, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для изменения.

    source

    Источник цикла выполнения для удаления.

    mode

    Режим цикла выполнения rl из которого можно удалить source. Используйте константу kCFRunLoopCommonModes удалить source от набора объектов, контролируемых всеми общими режимами.

    Обсуждение

    Если source источник версии 0, это вызовы функции cancel функция обратного вызова, указанная в структуре контекста для source. Посмотрите CFRunLoopSourceContext и CFRunLoopSourceContext1для большего количества подробных данных.

    Если rl не содержит source в mode, эта функция ничего не делает.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Добавляет объект CFRunLoopObserver к режиму цикла выполнения.

    Объявление

    Swift

    func CFRunLoopAddObserver(_ rl: CFRunLoop!, _ observer: CFRunLoopObserver!, _ mode: CFString!)

    Objective C

    void CFRunLoopAddObserver ( CFRunLoopRef rl, CFRunLoopObserverRef observer, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для изменения.

    observer

    Наблюдатель цикла выполнения для добавления.

    mode

    Режим цикла выполнения, к которому можно добавить observer. Используйте константу kCFRunLoopCommonModes добавить observer к набору объектов, контролируемых всеми общими режимами.

    Обсуждение

    Наблюдатель цикла выполнения может быть зарегистрирован только в одном выполненном цикле за один раз, несмотря на то, что он может быть добавлен к многократным режимам цикла выполнения в том цикле выполнения.

    Если rl уже содержит observer в mode, эта функция ничего не делает.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает булево значение, указывающее, содержит ли режим цикла выполнения определенный объект CFRunLoopObserver.

    Объявление

    Swift

    func CFRunLoopContainsObserver(_ rl: CFRunLoop!, _ observer: CFRunLoopObserver!, _ mode: CFString!) -> Boolean

    Objective C

    Boolean CFRunLoopContainsObserver ( CFRunLoopRef rl, CFRunLoopObserverRef observer, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для исследования.

    observer

    Наблюдатель цикла выполнения, которого можно искать.

    mode

    Режим цикла выполнения, в котором можно искать observer. Используйте константу kCFRunLoopCommonModes искать observer в наборе объектов, контролируемых всеми общими режимами.

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

    true если observer находится в режиме mode из цикла выполнения rl, иначе false.

    Обсуждение

    Если observer был добавлен к kCFRunLoopCommonModes, эта функция возвраты true если mode также kCFRunLoopCommonModes или любой из режимов, добавленный к набору общих режимов.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Удаляет объект CFRunLoopObserver из режима цикла выполнения.

    Объявление

    Swift

    func CFRunLoopRemoveObserver(_ rl: CFRunLoop!, _ observer: CFRunLoopObserver!, _ mode: CFString!)

    Objective C

    void CFRunLoopRemoveObserver ( CFRunLoopRef rl, CFRunLoopObserverRef observer, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для изменения.

    observer

    Наблюдатель цикла выполнения для удаления.

    mode

    Режим цикла выполнения rl из которого можно удалить observer. Используйте константу kCFRunLoopCommonModes удалить observer от набора объектов, контролируемых всеми общими режимами.

    Обсуждение

    Если rl не содержит observer в mode, эта функция ничего не делает.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Добавляет режим к набору выполненных общих режимов цикла.

    Объявление

    Swift

    func CFRunLoopAddCommonMode(_ rl: CFRunLoop!, _ mode: CFString!)

    Objective C

    void CFRunLoopAddCommonMode ( CFRunLoopRef rl, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для изменения. Каждый цикл выполнения имеет свой собственный независимый список режимов, которые находятся в наборе общих режимов.

    mode

    Режим цикла выполнения для добавления к набору общих режимов rl.

    Обсуждение

    Когда цикл выполнения работает в одном из тех режимов, источники, таймеры и наблюдатели регистрируются к один или несколько режимы цикла выполнения и только работают. Общие режимы являются рядом выполненных режимов цикла, для которых можно определить ряд источников, таймеров и наблюдателей, совместно использующихся этими режимами. Вместо того, чтобы регистрировать источник, например, к каждому определенному режиму цикла выполнения, можно зарегистрировать его один раз к общему псевдорежиму цикла выполнения, и это будет автоматически зарегистрировано в каждом режиме цикла выполнения в наборе общего режима. Аналогично, когда режим добавляется к набору общих режимов, любых источников, таймеров, или наблюдатели, уже зарегистрированные к общему псевдорежиму, добавляются к недавно добавленному общему режиму.

    Как только режим добавляется к набору общих режимов, это не может быть удалено.

    Добавление, Содержит, и Удалите функции для источников, таймеров, и наблюдатели воздействуют на набор цикла выполнения общих режимов, когда Вы используете константу kCFRunLoopCommonModes для режима цикла выполнения.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает массив, содержащий все определенные режимы для объекта CFRunLoop.

    Объявление

    Swift

    func CFRunLoopCopyAllModes(_ rl: CFRunLoop!) -> CFArray!

    Objective C

    CFArrayRef CFRunLoopCopyAllModes ( CFRunLoopRef rl );

    Параметры

    rl

    Цикл выполнения для исследования.

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

    Массив, содержащий все режимы цикла выполнения, определенные для rl. Владение соблюдает Создать Правило.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает имя режима, в котором в настоящее время работает данный выполненный цикл.

    Объявление

    Swift

    func CFRunLoopCopyCurrentMode(_ rl: CFRunLoop!) -> CFString!

    Objective C

    CFStringRef CFRunLoopCopyCurrentMode ( CFRunLoopRef rl );

    Параметры

    rl

    Цикл выполнения для исследования.

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

    Режим тот, в который rl в настоящее время работает; NULL если rl не работает. Владение соблюдает Создать Правило.

    Обсуждение

    Когда работается цикл выполнения текущего потока, возвращенное значение идентифицирует режим цикла выполнения, сделавший выноску, в которой в настоящее время выполняется Ваш код.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Добавляет объект CFRunLoopTimer к режиму цикла выполнения.

    Объявление

    Swift

    func CFRunLoopAddTimer(_ rl: CFRunLoop!, _ timer: CFRunLoopTimer!, _ mode: CFString!)

    Objective C

    void CFRunLoopAddTimer ( CFRunLoopRef rl, CFRunLoopTimerRef timer, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для изменения.

    timer

    Таймер цикла выполнения для добавления.

    mode

    Режим цикла выполнения rl к которому можно добавить timer. Используйте константу kCFRunLoopCommonModes добавить timer к набору объектов, контролируемых всеми общими режимами.

    Обсуждение

    Таймер цикла выполнения может быть зарегистрирован только в одном выполненном цикле за один раз, несмотря на то, что это может быть добавлено к многократным режимам цикла выполнения в том цикле выполнения.

    Если rl уже содержит timer в mode, эта функция ничего не делает.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает время, в которое выстрелит следующий таймер.

    Объявление

    Swift

    func CFRunLoopGetNextTimerFireDate(_ rl: CFRunLoop!, _ mode: CFString!) -> CFAbsoluteTime

    Objective C

    CFAbsoluteTime CFRunLoopGetNextTimerFireDate ( CFRunLoopRef rl, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для исследования.

    mode

    Режим цикла выполнения в rl протестировать.

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

    Самое раннее время увольнения таймеров цикла выполнения зарегистрировалось в mode для цикла выполнения rl.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Удаляет объект CFRunLoopTimer из режима цикла выполнения.

    Объявление

    Swift

    func CFRunLoopRemoveTimer(_ rl: CFRunLoop!, _ timer: CFRunLoopTimer!, _ mode: CFString!)

    Objective C

    void CFRunLoopRemoveTimer ( CFRunLoopRef rl, CFRunLoopTimerRef timer, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для изменения.

    timer

    Таймер цикла выполнения для удаления.

    mode

    Режим цикла выполнения rl из которого можно удалить timer. Используйте константу kCFRunLoopCommonModes удалить timer от набора объектов, контролируемых всеми общими режимами.

    Обсуждение

    Если rl не содержит timer в mode, эта функция ничего не делает.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает булево значение, указывающее, содержит ли режим цикла выполнения определенный объект CFRunLoopTimer.

    Объявление

    Swift

    func CFRunLoopContainsTimer(_ rl: CFRunLoop!, _ timer: CFRunLoopTimer!, _ mode: CFString!) -> Boolean

    Objective C

    Boolean CFRunLoopContainsTimer ( CFRunLoopRef rl, CFRunLoopTimerRef timer, CFStringRef mode );

    Параметры

    rl

    Цикл выполнения для исследования.

    timer

    Таймер цикла выполнения, который можно искать.

    mode

    Режим цикла выполнения rl в котором можно искать timer. Используйте константу kCFRunLoopCommonModes искать timer в наборе объектов, контролируемых всеми общими режимами.

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

    true если timer находится в режиме mode из цикла выполнения rl, false иначе.

    Обсуждение

    Если timer был добавлен к kCFRunLoopCommonModes, эта функция возвраты true если mode также kCFRunLoopCommonModes или любой из режимов, добавленный к набору общих режимов.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Ставит в очередь блочный объект на данном runloop, который будет выполняться как runloop циклы в указанных режимах.

    Объявление

    Swift

    func CFRunLoopPerformBlock(_ rl: CFRunLoop!, _ mode: AnyObject!, _ block: (() -> Void)!)

    Objective C

    void CFRunLoopPerformBlock ( CFRunLoopRef rl, CFTypeRef mode, void (^block)(void) );

    Параметры

    rl

    Цикл выполнения.

    mode

    CFString, идентифицирующий runloop режим или CFArray Кфстрингса, что каждый идентифицирует runloop режим.

    block

    Блочный объект выполниться.

    Блок копируется функцией перед функциональными возвратами.

    Обсуждение

    Когда runloop работает в указанном mode, блочный объект выполняется. Можно использовать эту функцию в качестве средние значения для разгрузки работы к другому потоку, подобному Какао performSelector:onThread:withObject:waitUntilDone: и связанные методы. Можно также использовать его в качестве альтернативы механизмам, таким как помещение CFRunLoopTimer в цикле выполнения другого потока или использования CFMessagePort для передачи информации между потоками.

    Этот метод ставит в очередь блок только и автоматически не будит указанный цикл выполнения. Поэтому выполнение блока происходит в следующий раз, когда цикл выполнения просыпается для обработки другого входного источника. Если Вы хотите работу, выполняемую сразу же, необходимо явно разбудить тот поток с помощью CFRunLoopWakeUp функция.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.6 и позже.

  • Возвращает идентификатор типа для CFRunLoop непрозрачный тип.

    Объявление

    Swift

    func CFRunLoopGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CFRunLoopGetTypeID ( void );

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

    Идентификатор типа для CFRunLoop непрозрачный тип.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

Типы данных

Прочие условия

  • Ссылка на объект цикла выполнения.

    Объявление

    Swift

    typealias CFRunLoopRef = CFRunLoop

    Objective C

    typedef struct __CFRunLoop *CFRunLoopRef;

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

Константы

Прочие условия

  • Коды возврата для CFRunLoopRunInMode, идентификация причины цикл выполнения вышла.

    Объявление

    Swift

    var kCFRunLoopRunFinished: Int { get } var kCFRunLoopRunStopped: Int { get } var kCFRunLoopRunTimedOut: Int { get } var kCFRunLoopRunHandledSource: Int { get }

    Objective C

    enum { kCFRunLoopRunFinished = 1, kCFRunLoopRunStopped = 2, kCFRunLoopRunTimedOut = 3, kCFRunLoopRunHandledSource = 4 };

    Константы

    • kCFRunLoopRunFinished

      kCFRunLoopRunFinished

      Выполнение работает, режим цикла не имеет никаких источников или таймеров для обработки.

      Доступный в OS X v10.0 и позже.

    • kCFRunLoopRunStopped

      kCFRunLoopRunStopped

      CFRunLoopStop был вызван на цикле выполнения.

      Доступный в OS X v10.0 и позже.

    • kCFRunLoopRunTimedOut

      kCFRunLoopRunTimedOut

      Интервал требуемого времени для выполнения цикла выполнения передал.

      Доступный в OS X v10.0 и позже.

    • kCFRunLoopRunHandledSource

      kCFRunLoopRunHandledSource

      Источник был обработан. Это значение возвращается, только если циклу выполнения сказали работать только, пока не был обработан источник.

      Доступный в OS X v10.0 и позже.

  • Псевдорежим цикла выполнения, управляющий объектами, контролируемыми в «общих» режимах.

    Объявление

    Swift

    let kCFRunLoopCommonModes: CFString!

    Objective C

    const CFStringRef kCFRunLoopCommonModes;

    Константы

    • kCFRunLoopCommonModes

      kCFRunLoopCommonModes

      Объекты, добавленные к циклу выполнения с помощью этого значения в качестве режима, контролируются всеми режимами цикла выполнения, объявленными как элемент набора «общих» режимов с CFRunLoopAddCommonMode.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Выполненные циклы никогда не работают в этом режиме. Этот псевдорежим используется только в качестве специального набора источников, таймеров и наблюдателей, который совместно используется другими режимами. Дополнительную информацию см. в Управляющих Наблюдателях.

  • Выполненный режим цикла по умолчанию.

    Объявление

    Swift

    let kCFRunLoopDefaultMode: CFString!

    Objective C

    const CFStringRef kCFRunLoopDefaultMode;

    Константы

    • kCFRunLoopDefaultMode

      kCFRunLoopDefaultMode

      Выполненный режим цикла, который должен использоваться, когда поток находится в его значении по умолчанию, или неактивен, состояние, ожидающее события. Когда цикл выполнения запускается с, этот режим используется CFRunLoopRun.

      Доступный в OS X v10.0 и позже.