Вопрос

Я планирую реализовать в своем приложении многозадачность. Здесь я вижу много методов, позволяющих сделать это в коде AppDelegate, например, applicationWillResignActive, applicationDidEnterBackground, applicationWillEnterForeground, ...

Но ... Я не понимаю, как их следует использовать, и почему их нет в ViewController ... И для чего они здесь.

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

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

Можете ли вы помочь мне понять, как реализовать эти методы?

Это было полезно?

Решение

Каждый объект получает уведомление о генеральном коде кода, когда приложение работает в фоновом режиме.Итак, чтобы запустить некоторый код, когда приложение переходит в фоновый режим, вам просто нужно прослушать это уведомление, где вы хотите:

родовое слово

Не забывайте отпускать слушателя, когда вам больше не нужно его слушать:

родовое слово

И лучший из лучших, вы можете играть так же, используя следующие уведомления:

  • UIApplicationDidEnterBackgroundNotification
  • UIApplicationDidEnterBackgroundNotification
  • UIApplicationWillEnterForegroundNotification
  • UIApplicationWillResignActiveNotification

Другие советы

Их нет ни в одном из ваших контроллеров представления, потому что iOS использует шаблон проектирования «делегат», при котором вы можете быть уверены, что метод будет активирован в классе (в данном случае - в App Delegate для вашего приложения) при необходимости.

В качестве учебного процесса, почему бы вам просто не добавить NSLog в эти методы, чтобы видеть, когда они увольняются?

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top