2010-08-21 13 views
10

Więc chcę wesprzeć przełączanie aplikacji w mojej nadchodzącej aplikacji na iPhone'a i zaimplementowałem wszystkie właściwe metody delegatów w mojej aplikacji. Więc kiedy użytkownik wznawia aplikację, widzę ich aktywność w NSLog i wszystkim. Jak jednak sprawdzić, czy moja aplikacja wznowiła działanie kontrolera? Czy istnieje metoda, którą mogę wprowadzić do kontrolera, aby powiedzieć, że aplikacja została wznowiona we wspomnianym kontrolerze? Powodem, o który pytam, jest to, że moja aplikacja obsługuje własny schemat adresu URL i chcę zaktualizować widok w zależności od uruchomionego adresu URL. Każda pomoc zostanie bardzo doceniona.Jak określić, kiedy kontroler wznowił działanie z tła?

Dzięki z góry

Odpowiedz

19

Można masz kontroler obserwować powiadomienie UIApplicationWillEnterForeground. To prawdopodobnie będzie wyglądać mniej więcej tak:

- (void) viewDidLoad 
{ 
    [super viewDidLoad]; 
    //do stuff here 
    if(&UIApplicationWillEnterForegroundNotification) { //needed to run on older devices, otherwise you'll get EXC_BAD_ACCESS 
     NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; 
     [notificationCenter addObserver:self selector:@selector(enteredForeground:) name:UIApplicationWillEnterForegroundNotification object:nil]; 
    } 


} 
- (void)enteredForeground:(NSNotification*) not 
{ 
    //do stuff here 
} 
+0

Jak mam to zrobić? –

-2

Można też po prostu zastąpić - (void)applicationDidBecomeActive:(UIApplication *)application w app delegata, aby to robić, co chcesz to zrobić, gdy wraca z tła. Jeśli chcesz, aby dany widok otrzymał wiadomość, a nie delegata aplikacji, musisz zarejestrować się w powiadomieniu opisanym powyżej przez Elfred.

1

Dla Swift 4:

NotificationCenter.default.addObserver(self, 
selector: #selector(appWillEnterForeground), 
name: NSNotification.Name.UIApplicationWillEnterForeground, 
object: nil) 



@objc func appWillEnterForeground() { 
    // do staff 
} 
+0

Liczba nawiasów otwartych i zamkniętych nie jest równa. – ittgung

+0

@ittgung dziękuję :) – chawki

Powiązane problemy