我對Xcode 8
學習Switf 3
現在我被困在一個小應用程序,它基本上只是顯示了webView
元素的網頁。我嘗試實現的唯一addtion函數是外部URL作爲共享應用程序(例如Safari)打開。迅速3 - declated功能不被調用
由於SO中有很多示例,我認爲我找到了使它工作的所有元素,但不知怎的,func webView
檢查url
沒有被調用。
這裏是我的代碼,形成ViewController.swif
至今:
import UIKit
class ViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
self.webView.delegate = self;
let url = URL(string: "https://stackoverflow.com")
debugPrint(url!)
webView.loadRequest(URLRequest(url: url!))
}
// [...]
func webView(webView: UIWebView!, shouldStartLoadWithRequest request: URLRequest!, navigationType: UIWebViewNavigationType) -> Bool {
debugPrint("func webView has been called")
debugPrint(request.url!)
if navigationType == UIWebViewNavigationType.linkClicked {
if (request.url!.host! == "stackoverflow.com"){
return true
} else {
//UIApplication.sharedApplication().openURL(request.URL!)
UIApplication.shared.open(request.url!)
return false
}
}
return true
}
}
哪裏是我的後勤錯誤?
您是否嘗試過在加載前設置'委託= self'請求? –
是的,這就是我原來的地方......只是爲了測試我把它放下了。我會在這裏更正這個問題... – wittich
**附加說明**檢查'request.url!.host!= nil'很重要,否則應用程序在沒有主機的情況下會遇到url request問題,例如'mailto'。 – wittich