我是一个非常有经验的Android开发者,但对于使用swift的iOS开发者来说是非常新的。现在我使用canInitWithRequest(2个单独的swift文件)设置了UIWebview和NSURLProtocol。 canInitWithRequest方法工作得很好但我需要访问UIWebview对象才能调用UIWebview对象上的函数。
例如。如果请求== google.com然后是UIWebview.something()。
在Android中,为了与Main活动线程交谈,我只需创建一个接口,在我的主线程中实现它,现在我可以访问该主要活动类的所有内容。
感谢您的帮助。
答案 0 :(得分:0)
您可能正在寻找UIWebViewDelegate
protocol中的方法-webView(_:shouldStartLoadWithRequest:navigationType:)
。
通过实现此接口,您可以拥有一个不同的对象(例如,“单独的Swift文件”中的对象)确定是否加载NSURLRequest
,甚至首先运行自定义行为:
extension MyObject: UIWebViewDelegate {
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if request.URL == NSURL(string: "google.com") {
// Do your custom behavior...
webView.something()
}
// Allow the webView to load the request
return true
}
}