Ios 如何将URL传递给自定义WKWebView控制器?
我正在使用WKWebView从TableView中包含的列表中打开URL。但是,我不知道如何将URL从TableView控制器传递到我创建的WKWebView类。我的类继承自UIViewController 到目前为止,我已经按照Aaron Rasmussen的说明尝试创建自定义初始值设定项,但当我这样做时,我最终出现了错误: 调用中的参数标签不正确,具有“url:”,应为“coder:” 我不知道如何调用新的初始值设定项而不是默认值设定项super的init 任何建议都将不胜感激。我不确定我是否接近最佳解决方案,或者我是否遗漏了使将URL传递到WKWebView变得容易的内容 WKWebView类: TableView控制器Ios 如何将URL传递给自定义WKWebView控制器?,ios,swift,uiviewcontroller,wkwebview,Ios,Swift,Uiviewcontroller,Wkwebview,我正在使用WKWebView从TableView中包含的列表中打开URL。但是,我不知道如何将URL从TableView控制器传递到我创建的WKWebView类。我的类继承自UIViewController 到目前为止,我已经按照Aaron Rasmussen的说明尝试创建自定义初始值设定项,但当我这样做时,我最终出现了错误: 调用中的参数标签不正确,具有“url:”,应为“coder:” 我不知道如何调用新的初始值设定项而不是默认值设定项super的init 任何建议都将不胜感激。我不确定我是
class TableViewController: UITableViewController {
...
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
showHome(indexPath: indexPath)
}
func showHome(indexPath: IndexPath){
if let url = URL(string: urlString){
let customWebController = WKBrowserController(url: urlString) // Error here
present(customWebController, animated: true)
}
}
为什么不
class WKBrowserController: UIViewController, WKNavigationDelegate {
var webView: WKWebView?
var webURL: URL? { didSet {
self.navigate()
}
}
override func loadView() {
webView = WKWebView()
webView.navigationDelegate = self
self.view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
self.navigate()
}
fileprivate func navigate() {
if let url = self.webURL {
webView.load(URLRequest(url: url))
}
}
然后在表视图中
func showHome(indexPath: IndexPath){
if let url = URL(string: urlString) {
let customWebController = WantedBrowserController()
customWebController.webURL = url
present(customWebController, animated: true)
}
}
func showHome(indexPath: IndexPath){
if let url = URL(string: urlString) {
let customWebController = WantedBrowserController()
customWebController.webURL = url
present(customWebController, animated: true)
}
}