加载WebView时Swift中的EXC_BAD_INSTRUCTION

时间:2016-09-07 14:42:19

标签: ios swift xcode webview runtime-error

我按照教程在iOS应用上制作网页视图,但我没有收到任何错误。但是,当我构建应用程序以在模拟器上测试它时,我收到错误:

  

EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

这是我的ViewController.swift

import UIKit

class ViewController: UIViewController {
    @IBOutlet var Webview : UIWebView!
    var URLpath = "http://google.com"

    override func viewDidLoad() {
        super.viewDidLoad()
        loadAddressURL()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func loadAddressURL(){
        let requestURL = NSURL(string:URLpath)
        let request = NSURLRequest(URL:requestURL!)
        Webview.loadRequest(request)
    }
}

当我运行应用程序时,Webview.loadRequest(request)标记为红色并显示错误。 在调试器中,我得到了#34;致命错误:在解包一个Optional值时出乎意料地发现了nil"

2 个答案:

答案 0 :(得分:1)

从storyboard / xib到代码将UIWebView连接起来肯定是错误的。您应该删除storyboard / xib中的现有连接,删除行

@IBOutlet var Webview : UIWebView!

然后再次连接。正确的声明应按顺序包含单词weak

@IBOutlet weak var Webview : UIWebView!

答案 1 :(得分:0)

EXC_BAD_INSTRUCTION表示代码中存在断言失败。

代码看起来不错。但看起来你的UIWebView控件在storyboard中没有正确链接。 尝试再次将IBOutlet转换为故事板中的相应uiWebView。 @IBOutlet var Webview:UIWebView!