Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用UIWebView和Swift执行错误访问_Ios_Swift_Uiwebview_Uiwebviewdelegate - Fatal编程技术网

Ios 使用UIWebView和Swift执行错误访问

Ios 使用UIWebView和Swift执行错误访问,ios,swift,uiwebview,uiwebviewdelegate,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

我是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_访问错误。如果执行以下任一操作,则不会出现错误:

不要提出请求,即加载空的webview 不要将uiWeb.delegate设置为self。 我知道EXC_BAD_访问错误是因为我试图使用一些未分配的东西,但我挠头想找到什么。uiWeb和webView都是类级别的变量,因此在函数完成后不应释放它们


你知道这是怎么回事吗?这是我包装这个的固有方式吗

什么是网络电视?为什么不使用自定义webView类名webVTest?抱歉,编辑了我的帖子。我简化了我正在使用的代码,并将WebVTest重命名为WebV!我使用了你的代码,但没有任何EXC\u BAD\u访问错误。你能描述一下重现错误的步骤吗?如果需要帮助,你应该发布错误。错误实际上只是线程1:EXC_BAD_ACCESS code=2,address=0xc