ios - 从另一个 Controller 调用函数后,webview 变为 nil

标签 ios swift webview wkwebview

您好,如果有人可以帮助我,谢谢! 我有两个 View Controller HomeControllerTableController 在 HomeController 中,我有一个 webview,当我转到 TableController 并调用一个函数来加载另一个对 webview 的请求时。 WebView 返回零。 HomeController 是应用程序的主屏幕,它是一个 webview。 TableController 是应用程序左侧汉堡菜单中的表格。当我打开它并单击一个项目时,我想获取该项目的 url 并使用该 url 发送具有相同 HomeController 的请求。但是当我到达 connectUrl() 时,我得到了一个 fatal error ,这是因为 webView 是 nil。

编辑:在下面回答

代码如下:

表格 Controller

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    var HomeViewController: HomeController {
        return self.storyboard?.instantiateViewControllerWithIdentifier("homeController") as! HomeController
    }

    let url = self.item[indexPath.item].url

    HomeViewController.connectUrl(url!)
}

家庭 Controller

class HomeController: UIViewController{
static let sharedInstance = HomeController()

var webView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()

    let preferences = WKPreferences()
    preferences.javaScriptEnabled = true

    let configuration = WKWebViewConfiguration()
    configuration.preferences = preferences

    webView = WKWebView(frame: view.bounds, configuration: configuration)

    self.view.addSubview(self.webView)
}
func connectUrl(url: String){
    let url2 = NSURL(string: url)
    let req = NSURLRequest(URL: url2!)
    print(req)
    self.webView!.loadRequest(req)

}}

最佳答案

控制台是否有域错误?/如果有

将其添加到 plist。

 <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

关于ios - 从另一个 Controller 调用函数后,webview 变为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32841950/

相关文章:

ios - UI本地通知

ios - 在 Swift CoreData 中设置 NSPredicate

swift - 将完成处理程序与 DispatchQueue 一起使用

android - 旧版本的 Android 会升级 chrome webview 吗?

android - 在 flutter 中显示不同的日期变化图像

iPhone 崩溃日志

iOS/swift : How to make a blend of multiple UIViews

ios - 异常没有被捕获

macos - 检测何时单击链接 WebView (Mac)

javascript - 如何使用 javascript 在 Android Webview 中格式化时间戳