Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在swift中使用自定义url加载webview_Ios_Swift_Xcode - Fatal编程技术网

Ios 如何在swift中使用自定义url加载webview

Ios 如何在swift中使用自定义url加载webview,ios,swift,xcode,Ios,Swift,Xcode,我有一个函数提供一个字符串并请求webview加载它 但是webview不能加载 这是我的密码 类浏览器模型{ func requesttoul(usearch:String)->WKWebView{ 如果让url=url(字符串):https://google.com/search?q=\(搜索.编码)“){ 让webview=WKWebView() let request=URLRequest(url:url) 加载(请求) 打印(“非零”) 返回webview } 返回WKWebView(

我有一个函数提供一个字符串并请求webview加载它 但是webview不能加载 这是我的密码

类浏览器模型{
func requesttoul(usearch:String)->WKWebView{
如果让url=url(字符串):https://google.com/search?q=\(搜索.编码)“){
让webview=WKWebView()
let request=URLRequest(url:url)
加载(请求)
打印(“非零”)
返回webview
}
返回WKWebView()
}
}
我尝试使用此代码请求im self作为Searchbar委托,但webview未加载

func searchBar搜索按钮选中(searchBar:UISearchBar){
webview=myWebview.requestToURL(self.searchbar.text!)
打印(“按下搜索”)
}

正如我在评论中提到的,问题在于本地web视图生命周期中,请尝试使用WKWebView的扩展,下面是如何

    extension WKWebView {

    func loadURL(_ string: String) {
        guard let url = URL(string: "https://google.com/search?q=\(string)") else { return }
        load(URLRequest(url: url))
    }

}
这是搜索的func

private func addObserver() {
    searchBar.rx.text.orEmpty
        .distinctUntilChanged()
        .debounce(.seconds(1), scheduler: MainScheduler.instance)
        .subscribe(onNext: { query in
            self.webView.loadURL(query)
        }, onError: { error in
            print(error.localizedDescription)
        })
        .disposed(by: disposeBag)
}
在你的情况下,你可以使用

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
     webView.loadURL(searchbar.text ?? "")
}

尝试为WKWebViewok创建相同的扩展名OK扩展名为true,但为什么此代码不起作用?我将wkwebview指定给wkwebview每次创建局部变量时,它的生命周期都以funcok结尾。您有办法解决这个问题吗?