2016-09-27 2 views
1

Я хочу, чтобы пользователь вызывал приложение из фона для загрузки одной функции из viewcontroller?IOS Swift, как reload viewcontroller, когда приложение приходит из фона?

+0

использовать некоторое значение флага в NSUserdefault, когда в фоновом режиме, и проверить, установлено ли значение true, а затем вызвано Я снова установил флаг в ложную надежду. –

+0

если вызов из viewcontroller из фона функция, которая вызывает снова, - viewdidload()? –

+0

Если кто-то ищет решение для swift 3, перейдите по ссылке: https://stackoverflow.com/a/34529572/6595705 – stream28

ответ

1

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

UIApplicationDidEnterBackgroundNotification 
UIApplicationWillEnterForegroundNotification 
+0

В AppDelage у меня были эти функции, и я включил режимы backgroud. –

+0

Если вы внедрили свою функциональность в эти методы, то какова проблема, с которой вы сталкиваетесь? –

+0

sry это функции в AppDelegate не в viewcontroller. Эта функция наблюдает за состоянием приложения внутри контроллера? –

3

Уточняя ответ nishith в:

Добавьте следующий код в ваш контроллер представления вы хотите обновить

override func viewDidLoad() { 
    super.viewDidLoad() 
...... 
...... 
    NSNotificationCenter.defaultCenter().addObserver(self, selector:#selector(YourViewController.methodToRefresh), name:UIApplicationWillEnterForegroundNotification, object:UIApplication.sharedApplication() 
    ) 
...... 
...... 
} 

Всегда помните, очистки, когда представление исчезает:

override func viewWillDisappear(animated: Bool) { 
    NSNotificationCenter.defaultCenter().removeObserver(self) 
} 
Смежные вопросы