【Swift】文字列をURLに変換し、たった1行で開く方法
完成図
解説
WebViewを経由することなくsafari経由でURLを開ける。
WebViewの場合は、
//URLを受け取る変数 let url = URL(string: url_word) let urlrequest = URLRequest(url: url!) webview.loadRequest(urlrequest)
と記述で実装できる。
どっちがオススメで利用されているかは不明。
また、http://やhttps://以外のURLはエラー回避のためにprefixを使用した。
ソースコード
import UIKit class openURLLink: UIViewController { override func viewDidLoad() { super.viewDidLoad() //リンク(文字列)先を開く openURL("http://www.google.co.jp/") } func openURL(_ link:String) { //linkが"http://","https://"のいずれかで始める文字列かを判断 //prefix(i):i文字目までの文字・・・prefix(3)は3文字目まで if link.prefix(7) == "http://" || link.prefix(8) == "https://" { //文字列をURLに変換 let url = URL(string: link)! //URLを開く if UIApplication.shared.canOpenURL(url) { UIApplication.shared.open(url) } } else {} } }