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

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

Разработчик

Ссылка платформы основы ссылка класса NSRunLoop

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

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

NSRunLoop

NSRunLoop класс объявляет программируемый интерфейс к объектам, управляющим входными источниками. NSRunLoop возразите вводу процессов для источников, таких как события от нажатия мыши и события клавиатуры от оконной системы, NSPort объекты, и NSConnection объекты. NSRunLoop возразите также обрабатывает NSTimer события.

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

Обратите внимание на то, что с точки зрения NSRunloop, NSTimer объекты не «вводятся» — они - специальный тип и одна из вещей, которая средние значения является, что они не заставляют цикл выполнения возвращаться, когда они стреляют.

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


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


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • Возвраты NSRunLoop объект для текущего потока.

    Объявление

    Swift

    class func currentRunLoop() -> NSRunLoop

    Objective C

    + (NSRunLoop *)currentRunLoop

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

    NSRunLoop объект для текущего потока.

    Обсуждение

    Если цикл выполнения еще не существует для потока, каждый создается и возвращается.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – currentMode

  • currentMode currentMode Свойство

    Текущий режим ввода получателя. (только для чтения)

    Объявление

    Swift

    var currentMode: String? { get }

    Objective C

    @property(readonly, copy) NSString *currentMode

    Обсуждение

    Текущий режим ввода получателя. Этот метод возвращает текущий режим ввода только, в то время как работает получатель; иначе, это возвращается nil.

    Текущий режим установлен методами, выполняющими цикл выполнения, такой как acceptInputForMode:beforeDate: и runMode:beforeDate:.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func limitDateForMode(_ mode: String) -> NSDate?

    Objective C

    - (NSDate *)limitDateForMode:(NSString *)mode

    Параметры

    mode

    Режим цикла выполнения для поиска. Можно указать пользовательские режимы или использовать один из режимов, перечисленных в Выполненных Режимах Цикла.

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

    Дата, в которую следующий таймер, как планируют, выстрелит, или nil при отсутствии входных источников для этого режима.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает цикл выполнения основного потока.

    Объявление

    Swift

    class func mainRunLoop() -> NSRunLoop

    Objective C

    + (NSRunLoop *)mainRunLoop

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

    Объект, представляющий цикл выполнения основного потока.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5.

  • Возвращает базовый Ссылочный объект CFRunLoop получателя.

    Объявление

    Swift

    func getCFRunLoop() -> CFRunLoop

    Objective C

    - (CFRunLoopRef)getCFRunLoop

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

    Базовый Ссылочный объект CFRunLoop получателя.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Регистрирует данный таймер в данном режиме ввода.

    Объявление

    Swift

    func addTimer(_ aTimer: NSTimer, forMode mode: String)

    Objective C

    - (void)addTimer:(NSTimer *)aTimer forMode:(NSString *)mode

    Параметры

    aTimer

    Таймер для регистрации в получателе.

    mode

    Режим, в котором можно добавить aTimer. Можно указать пользовательский режим или использовать один из режимов, перечисленных в Выполненных Режимах Цикла.

    Обсуждение

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

    Получатель сохраняет aTimer. Для удаления таймера из всех режимов цикла выполнения, на которых это установлено отправьте invalidate обменивайтесь сообщениями к таймеру.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func addPort(_ aPort: NSPort, forMode mode: String)

    Objective C

    - (void)addPort:(NSPort *)aPort forMode:(NSString *)mode

    Параметры

    aPort

    Порт для добавления к получателю.

    mode

    Режим, в котором можно добавить aPort. Можно указать пользовательский режим или использовать один из режимов, перечисленных в Выполненных Режимах Цикла.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – removePort:forMode:

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

    Объявление

    Swift

    func removePort(_ aPort: NSPort, forMode mode: String)

    Objective C

    - (void)removePort:(NSPort *)aPort forMode:(NSString *)mode

    Параметры

    aPort

    Порт для удаления из получателя.

    mode

    Режим, из которого можно удалить aPort. Можно указать пользовательский режим или использовать один из режимов, перечисленных в Выполненных Режимах Цикла.

    Обсуждение

    Если бы Вы добавили порт к многократным режимам ввода, то необходимо удалить его из каждого режима отдельно.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – addPort:forMode:

  • Осуждаемый. Ничего не делает.

    Оператор осуждения

    Осуждаемый начиная с OS X v10.5. Нет никакого альтернативного метода.

    Объявление

    Objective C

    - (void)configureAsServer

    Обсуждение

    На OS X этот метод ничего не делает.

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

    Objective C

    @import Foundation;

    Доступность

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

    Осуждаемый в OS X v10.5.

  • Помещает получатель в постоянный цикл, за это время он обрабатывает данные из всех присоединенных входных источников.

    Объявление

    Swift

    func run()

    Objective C

    - (void)run

    Обсуждение

    Если никакие входные источники или таймеры не присоединены к циклу выполнения, этот метод сразу выходит; иначе, это выполняет получатель в NSDefaultRunLoopMode путем повторного вызова runMode:beforeDate:. Другими словами, этот метод эффективно начинает бесконечный цикл, обрабатывающий данные из входных источников цикла выполнения и таймеров.

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

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

    • BOOL shouldKeepRunning = YES; // global
    • NSRunLoop *theRL = [NSRunLoop currentRunLoop];
    • while (shouldKeepRunning && [theRL runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]);

    где shouldKeepRunning установлен в NOfalse где-то в другом месте в программе.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – runUntilDate:

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

    Объявление

    Swift

    func runMode(_ mode: String, beforeDate limitDate: NSDate) -> Bool

    Objective C

    - (BOOL)runMode:(NSString *)mode beforeDate:(NSDate *)limitDate

    Параметры

    mode

    Режим, в котором можно работать. Можно указать пользовательские режимы или использовать один из режимов, перечисленных в Выполненных Режимах Цикла.

    limitDate

    Дата, до которой можно блокировать.

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

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

    Обсуждение

    Если никакие входные источники или таймеры не присоединены к циклу выполнения, этот метод сразу выходит и возвраты NOfalse; иначе, это возвращается, или после первый входной источник обрабатывается или после limitDate достигнут. Вручную удаление всех известных входных источников и таймеров от цикла выполнения не гарантирует, что цикл выполнения сразу выйдет. OS X может установить и удалить дополнительные входные источники по мере необходимости для обработки запросов, предназначенных для потока получателя. Те источники могли поэтому препятствовать тому, чтобы вышел цикл выполнения.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func runUntilDate(_ limitDate: NSDate)

    Objective C

    - (void)runUntilDate:(NSDate *)limitDate

    Параметры

    limitDate

    Дата, вплоть до которой можно работать.

    Обсуждение

    Если никакие входные источники или таймеры не присоединены к циклу выполнения, этот метод сразу выходит; иначе, это выполняет получатель в NSDefaultRunLoopMode путем повторного вызова runMode:beforeDate: до указанной даты истечения срока.

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – выполненный

  • Выполняет цикл один раз или до указанной даты, принимая ввод только для указанного режима.

    Объявление

    Swift

    func acceptInputForMode(_ mode: String, beforeDate limitDate: NSDate)

    Objective C

    - (void)acceptInputForMode:(NSString *)mode beforeDate:(NSDate *)limitDate

    Параметры

    mode

    Режим, в котором можно работать. Можно указать пользовательские режимы или использовать один из режимов, перечисленных в Выполненных Режимах Цикла.

    limitDate

    Дата, вплоть до которой можно работать.

    Обсуждение

    Если никакие входные источники или таймеры не присоединены к циклу выполнения, этот метод сразу выходит; иначе, это выполняет цикл выполнения один раз, возвращаясь, как только один входной источник обрабатывает сообщение, или specifed время протекает.

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – runMode:beforeDate:

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

    Объявление

    Objective C

    - (void)performSelector:(SEL)aSelector target:(id)target argument:(id)anArgument order:(NSUInteger)order modes:(NSArray *)modes

    Параметры

    aSelector

    Селектор, идентифицирующий метод для вызова. Этот метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа.

    target

    Объект, определяющий селектор в aSelector.

    anArgument

    Параметр для передачи методу, когда это вызывается. Передача nil если метод не берет параметр.

    order

    Приоритет для сообщения. Если многократные сообщения планируются, сообщения со значением более низкоуровневым отправляются перед сообщениями со значением высшего порядка.

    modes

    Массив режимов ввода, за которыми может быть отправлено сообщение. Можно указать пользовательские режимы или использовать один из режимов, перечисленных в Выполненных Режимах Цикла.

    Обсуждение

    Этот метод устанавливает таймер для выполнения aSelector сообщение на цикле выполнения текущего потока в начале итерации цикла следующего запуска. Таймер сконфигурирован для выполнения в режимах, указанных modes параметр. Когда таймер стреляет, поток пытается исключить сообщение из очереди от цикла выполнения и выполнить селектор. Если цикл выполнения работает и в одном из указанных режимов, это успешно выполняется; иначе, таймер ожидает, пока цикл выполнения не находится в одном из тех режимов.

    Этот метод возвраты перед aSelector сообщение отправляется. Получатель сохраняет target и anArgument объекты, пока таймер для селекторных огней, и затем не выпускает их как часть его очистки.

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

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

    Objective C

    @import Foundation;

    Доступность

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

  • Отменяет отправку ранее запланированного сообщения.

    Объявление

    Swift

    func cancelPerformSelector(_ aSelector: Selector, target target: AnyObject, argument anArgument: AnyObject?)

    Objective C

    - (void)cancelPerformSelector:(SEL)aSelector target:(id)target argument:(id)anArgument

    Параметры

    aSelector

    Ранее указанный селектор.

    target

    Ранее указанная цель.

    anArgument

    Ранее указанный параметр.

    Обсуждение

    Можно использовать этот метод для отмены сообщения, ранее запланировал использование performSelector:target:argument:order:modes: метод. Параметры идентифицируют сообщение, которое Вы хотите отменить и должны соответствовать первоначально указанных, когда был запланирован селектор. Этот метод удаляет выполнять запрос из всех режимов цикла выполнения.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Отмены все выдающиеся упорядоченный выполняют запланированный с данной целью.

    Объявление

    Swift

    func cancelPerformSelectorsWithTarget(_ target: AnyObject)

    Objective C

    - (void)cancelPerformSelectorsWithTarget:(id)target

    Параметры

    target

    Ранее указанная цель.

    Обсуждение

    Этот метод отменяет ранее запланированные сообщения, связанные с целью, игнорируя селектор и параметр запланированной работы. Это в отличие от cancelPerformSelector:target:argument:, который требует, чтобы Вы соответствовали селектор и параметр, а также цель. Этот метод удаляет выполнять запросы на объект от всех режимов цикла выполнения.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • NSRunLoop определяет следующий режим цикла выполнения.

    Объявление

    Swift

    let NSDefaultRunLoopMode: NSString! let NSRunLoopCommonModes: NSString!

    Objective C

    extern NSString* const NSDefaultRunLoopMode; extern NSString* const NSRunLoopCommonModes;

    Константы

    • NSDefaultRunLoopMode

      NSDefaultRunLoopMode

      Режим для контакта с входными источниками кроме NSConnection объекты.

      Это - обычно используемый режим цикла выполнения.

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

    • NSRunLoopCommonModes

      NSRunLoopCommonModes

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

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