簡體   English   中英

如何在Swift 4中訪問[UIApplicationOpenURLOptionsKey:Any]的值?

[英]How can I access values of [UIApplicationOpenURLOptionsKey : Any] in Swift 4?

我是Swift的新手。 我希望訪問此方法的options參數內的sourceApplication值。

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

我檢查了文檔 ,發現UIApplicationOpenURLOptionsKey是一個結構。 它包含一個type屬性: static let sourceApplication: UIApplicationOpenURLOptionsKey

但是,當我嘗試通過執行以下操作訪問sourceApplication值時:

options.sourceApplication

...拋出此錯誤:

類型' [UIApplicationOpenURLOptionsKey : Any] '的值沒有成員' sourceApplication '

我認為這可能是字典,但是鍵的類型是UIApplicationOpenURLOptionsKey 我不知道如何使用鍵類型UIApplicationOpenURLOptionsKey訪問值。

我檢查了教程點和其他一些站點,但是沒有找到解決方案。

我的問題是:

  1. 如何從options訪問名為sourceApplication的值?
  2. 您如何稱呼這種類型的參數? [UIApplicationOpenURLOptionsKey : Any] = [:] )? 這是字典嗎?

Swift 4.2的更新

該方法已更改為:

func open(_ url: URL, 
          options: [UIApplication.OpenExternalURLOptionsKey : Any] = [:], 
          completionHandler completion: ((Bool) -> Void)? = nil)

您可以用相同的方式訪問密鑰。


options是一本字典 您應該訪問它的sourceApplication

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

從Apple關於sourceApplication的文檔中:

包含向您的應用程序發送打開URL請求的應用程序的捆綁軟件ID。 值是一個NSString對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM