2017-12-05 10 views
0

私はSwiftで新しいです。このメソッドのoptionsパラメータ内のsourceApplicationの値にアクセスします。Swift 4の[UIApplicationOpenURLOptionsKey:Any]の値にアクセスするにはどうすればよいですか?

optional func application(_ app: UIApplication, 
        open url: URL, 
        options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool 

私はthe documentationをチェックし、私はUIApplicationOpenURLOptionsKeyが構造体であることが分かりました。これは、typeプロパティが含まれます。

options.sourceApplication 

...このエラーがスローされました:static let sourceApplication: UIApplicationOpenURLOptionsKey

をしかし、私はこれを行うことにより、sourceApplication値にアクセスしようとしたときに型 '[UIApplicationOpenURLOptionsKey : Any]

値'メンバーがいません' sourceApplication '

私はこれがdi ctionaryですが、キーのタイプはUIApplicationOpenURLOptionsKeyです。キータイプUIApplicationOpenURLOptionsKeyを使用して値にアクセスする方法はわかりません。

チュートリアルポイントや他のサイトをチェックしましたが、解決策が見つかりませんでした。

私の質問は以下のとおりです。

  1. 私はoptionsからsourceApplicationという名前の値にアクセスするにはどうすればよいですか?
  2. このタイプのパラメータは何と呼びますか? ([UIApplicationOpenURLOptionsKey : Any] = [:])?これは辞書ですか?

答えて

1

optionsは、辞書である。 sourceApplicationキーにアクセスする必要があります。

if let sourceApp = options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String { 
    //work with the value 
} 

From Apple's documentation about sourceApplication:

のアプリにオープンURL要求を送信したアプリのバンドルIDを含みます。値はNSStringオブジェクトです。

+0

すみません、ありがとうございました!今私はそれがどのように行われたのか理解していますしかし、私は= [:]これが意味することを尋ねてもよいでしょうか? –

+1

デフォルトを意味する空の辞書 –

+0

UIApplicationOpenURLOptionsKeyは冗長であることに注意してください。 (必要ありません) '[.sourceApplication]' –

関連する問題