2014-10-29 15 views
8

W klasie Swift AppDelegate, pojawi się następujące metody:Jak radzić sobie z launchOptions: [NSObject: AnyObject]? w Swift?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    // ...code... 
    return true 
} 

Parametr launchOptions: [NSObject: AnyObject]? jest opcjonalne. W Objective-C jest to przekazywane jako NSDictionary. Szukam od niego wydania UIApplicationLaunchOptionsRemoteNotificationKey. Oto, jak to zrobić w Objective-C:

NSDictionary *remoteNotification = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]; 

if (remoteNotification) 
{ 
    // ...do stuff... 
} 

Jak to zrobisz w Swift?

Odpowiedz

27

w Swift, można zrobić to tak:

if let remoteNotification = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as? NSDictionary { 
    // ...do stuff... 
} 
+1

Jak mogę zalogować się na ekranie, co zawiera usługa RemoteNotification. Ponieważ aplikacja musi być uruchomiona z powiadomienia push, gdy aplikacja jest dołączona do xcode? –

+0

Najlepszym sposobem sprawdzenia, co się dzieje, byłoby wyrzucenie UIAlertView z wiadomością jako zawartością wyciągu, który w przeciwnym razie byłby rejestrowany. –

1

obsłużyć go w Swift tak:

if let remoteNotification = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as? [NSObject : AnyObject] { 
    // ... do stuff 
} 
0

myślę o Swift 3, to byłoby tak:

if (launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] as? NSDictionary) != nil { 
    // ...do stuff   
} 
Powiązane problemy