我正在使用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”错误。我该如何解决这个问题?
答案 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作为委托,直到我们到达底部。