获取"线程1:EXC_BAD_ACCESS"错误?

时间:2014-10-08 09:03:09

标签: ios swift exc-bad-access wkwebview

我正在使用WKWebView和Swift语言创建一个简单的Web查看器。这是我的代码。

import Cocoa
import WebKit

@NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate {

    @IBOutlet var containerView : NSView! = nil
    @IBOutlet weak var window: NSWindow!


    func applicationDidFinishLaunching(aNotification: NSNotification) {
        // Insert code here to initialize your application
        var webView: WKWebView

        webView = WKWebView() //Thread 1:EXC_BAD_ACCESS (code=1,address=0x20)
        var url = NSURL(string:"http://www.google.com/")
        var req = NSURLRequest(URL: url!)
        webView.loadRequest(req)
    }

    func applicationWillTerminate(aNotification: NSNotification) {
        // Insert code here to tear down your application
    }

}

当我尝试运行应用程序时,我现在在webView = WKWebView()行上收到“Thread 1:EXC_BAD_ACCESS”错误。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

如果这是您的所有代码,那么我会说您缺少实例化WKWebView。在self.webView!.loadRequest(req)行上设一个断点,检查它是否为零。

我从未使用WKWebView,但我认为您需要一个视图控制器。也许这篇博文可以帮助您:Getting started with WKWebView using Swift in iOS 8

答案 1 :(得分:0)

您忘记初始化WKWebView

var webView = WKWebView(frame: CGRectMake(0, 0, 320, 480))
var url = NSURL(string:"http://www.google.com/")
var req = NSURLRequest(URL: url)
webView.loadRequest(req)

答案 2 :(得分:0)

每当我尝试使用全新的最小类作为委托时,我都会收到此错误。例如:

class MyDelegate: NSObject, UIWebViewDelegate { /* ... */ }

当我尝试将默认的ViewController用作委托时,不会发生这种情况。例如:

class ViewController: UIViewController, UIWebViewDelegate { /* ... */ }

我建议使用ViewController作为委托,直到我们到达底部。