使用UIWebView和Swift进行EXC_BAD_ACCESS

时间:2014-09-25 14:04:06

标签: ios swift uiwebview uiwebviewdelegate

我是iOS开发的初学者。由于各种原因,我在UIWebView周围创建了一个包装器。现在,它看起来像这样:

class WebV : NSObject, UIWebViewDelegate  {

    var uiWeb:UIWebView?

    convenience init(frame:CGRect) {
        self.init()
        uiWeb!.frame = frame
    }

    override init() {
        super.init()

        uiWeb = UIWebView()
        uiWeb!.delegate = self
    }

    func putUrl(url:String) {
        let urlToLoad = NSURLRequest(URL: NSURL(string: "http://localhost:1338/" + url + ".html"))
        uiWeb!.loadRequest(urlToLoad)
    }

}

然后,在另一堂课中,我这样做:

var webView:WebV!

override func viewDidLoad() {
    super.viewDidLoad()

    webView = WebV(frame: self.view.frame)

    webView.putURL("views/login")
    self.view.addSubview(webView.uiWeb!)
}

加载后,我收到EXC_BAD_ACCESS错误。如果我执行其中任何一项操作,我会收到错误:

  • 不提出请求(即加载空的webview)
  • 不要uiWeb.delegate self

我知道EXC_BAD_ACCESS错误是因为我试图使用未分配的内容,但我正在试图找到什么。 uiWebwebView都是类级变量,因此在函数完成时不应该取消分配它们。

有什么想法在这里发生了什么?这是我用这种方式固有的东西吗?

0 个答案:

没有答案