[英]How can I pass a UILabel as a URL in Swift?
我有一個名為itemOneURL
的 UILabel,它從外部數據庫讀取 URL 並將值作為字符串添加到此 label 中。 我有一個名為viewItemOne
的單獨按鈕(使用工作 segue),一旦選擇,它將獲取itemOneURL
URL 的內容並使用默認瀏覽器打開此鏈接。 這是我目前正在使用的代碼。
@IBOutlet weak var itemOneURL: UILabel!
@IBAction func viewItemOne(_ sender: UIButton) {
let firstURL = itemOneURL as? String
UIApplication.shared.open(URL(string:"\(firstURL)")! as URL, options: [:], completionHandler: nil)
}
但是,一旦我在 UI 上使用 select 這個按鈕,我的應用程序就不會執行任何操作,而當我在其他地方使用以下語法時,它會起作用並加載 URL?
UIApplication.shared.open(URL(string:"https://stackoverflow.com")! as URL, options: [:], completionHandler: nil)
是否有什么我做錯了,目前導致按鈕在選擇后不執行任何操作?
“如何在 Swift 中將 UILabel 作為 URL 傳遞?”
簡短的回答:不要。 不要使用視圖對象來存儲信息。
給你的 viewController 一個屬性itemOneURL
。
重命名您的 label itemOneURLLabel
。 (使用refactor>rename
菜單項和 Xcode 將重命名每個出現,包括故事板或 XIB 文件中的任何出口鏈接。)
將 didSet 方法添加到您的 itemOneURL 變量:
var itemOneURL: String {
didSet {
itemOneURLLabel.text = itemOneURL
}
}
然后,如果您需要字符串 URL 值,它應該在字符串變量中。 問題解決了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.