Описание тега uiapplication

Класс UIApplication обеспечивает централизованную точку контроля и координации для приложений, работающих на iOS. Каждое приложение должно иметь ровно один экземпляр UIApplication (или подкласс UIApplication). Когда приложение запускается, вызывается функция UIApplicationMain; Помимо других задач, эта функция создает одноэлементный объект UIApplication. После этого вы обращаетесь к этому объекту, вызывая метод класса sharedApplication.

Класс UIApplication обеспечивает централизованную точку контроля и координации для приложений, работающих на iOS. Каждое приложение должно иметь ровно один экземпляр UIApplication (или подкласс UIApplication). Когда приложение запускается, вызывается функция UIApplicationMain; Помимо других задач, эта функция создает одноэлементный объект UIApplication. После этого вы обращаетесь к этому объекту, вызывая метод класса sharedApplication.

Основная роль объекта UIApplication заключается в обработке начальной маршрутизации входящих пользовательских событий. Он также отправляет сообщения о действиях, пересылаемые ему объектами управления ( UIControl) соответствующим целевым объектам. Кроме того, объект UIApplication поддерживает список всех окон (объектов UIWindow), открытых в данный момент в приложении, поэтому через них он может получить любой из объектов UIView приложения. Объекту приложения обычно назначается делегат, объект, о котором приложение сообщает о важных событиях времени выполнения, например о запуске приложения, предупреждениях о нехватке памяти и завершении приложения, что дает ему возможность отреагировать соответствующим образом.

Приложения могут совместно обрабатывать такой ресурс, как электронная почта или файл изображения, с помощью метода openURL :. Например, приложение, открывающее URL-адрес электронной почты с помощью этого метода, может вызвать запуск почтового клиента и отображение сообщения.

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

  • Управляйте реакцией приложения на изменение ориентации интерфейса.

  • Временно приостановить входящие сенсорные события.

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

  • Зарегистрируйтесь для получения удаленных уведомлений.

  • Вызов пользовательского интерфейса отмены-повтора ( applicationSupportsShakeToEdit).

  • Определите, может ли установленное приложение открывать URL-адрес ( canOpenURL:).

  • Увеличьте время выполнения приложения, чтобы оно могло завершить задачу в фоновом режиме.

  • Запланируйте и отмените локальные уведомления.

  • Координировать прием событий дистанционного управления.

  • Выполнять задачи восстановления состояния на уровне приложения.

UIApplication определяет делегата, который должен принять протокол UIApplicationDelegate и реализовать некоторые методы протокола.

Примечания к подклассам

Большинству приложений никогда не нужно создавать подклассы класса UIApplication. Большинство приложений используют делегата приложения для управления взаимодействием между системой и приложением.

Единственная ситуация, когда вам может понадобиться создать подкласс UIApplication, - это когда вы реализуете настраиваемый механизм диспетчеризации событий или действий. В этой ситуации вы можете переопределить методы sendEvent: или sendAction: to: from: forEvent: для реализации этого механизма. Однако случаи, когда это требуется, очень редки, и их следует по возможности избегать.