Ios 使用UIWebView和Swift执行错误访问
我是iOS开发的初学者。出于各种原因,我正在围绕UIWebView创建一个包装器。现在看来是这样的: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
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