Lies UIApplicationLaunchOptionsURLKey in Swift

8

Einfach die Startoptionen in Swift lesen.

Das ist mein alter obj-C-Code, der gut funktionierte:

%Vor%

das ist, was ich denke, der Swift-Code sollte aussehen:

%Vor%

aber es gibt den Fehler:

  

'(NSString!) - & gt; $ T2 'ist nicht identisch mit' [NSObject: AnyObject] '

Ein Castingfehler? aber es hat Schwierigkeiten, es richtig zu schreiben und kann keine Links finden, wie man es macht.

    
Greg Robertson 30.10.2014, 09:08
quelle

1 Antwort

25

Schnell 3:

In Swift 3 ist launchOptions ein Wörterbuch vom Typ [UIApplicationLaunchOptionsKey: Any]? , so dass Sie auf den Wert wie folgt zugreifen können:

%Vor%

Da der Schlüsseltyp UIApplicationLaunchOptionsKey ist, können Sie den Typ enum einfach als .url :

abkürzen %Vor%

Der mit diesem Schlüssel verknüpfte Wert ist jedoch URL und nicht String . Außerdem ist der Schlüssel möglicherweise nicht im Wörterbuch vorhanden. Daher sollten Sie bedingtes Casting as? anstelle von normalem Casting verwenden.

In Swift möchten Sie Folgendes tun:

%Vor%

Swift 2:

launchOptions ist in Ihrem Code ein Dictionary vom Typ [NSObject: AnyObject]? . Sie sollten also auf den folgenden Wert zugreifen:

%Vor%

Der mit diesem Schlüssel verknüpfte Wert ist jedoch NSURL und nicht String . Außerdem ist der Schlüssel möglicherweise nicht im Wörterbuch vorhanden. Daher sollten Sie bedingtes Casting as? anstelle von normalem Casting verwenden.

In Swift möchten Sie Folgendes tun:

%Vor%     
vacawama 30.10.2014, 09:30
quelle

Tags und Links