简单的Swift WebView无法工作(Xcode 6 Beta 3)

3

我正在使用Swift编写一个简单的WebView,但每次尝试在iOS模拟器中启动它时,都会出现这些错误。出了什么问题?

import UIKit

class ViewController: UIViewController {

@IBOutlet var webview: UIWebView

var urlpath = "http://www.google.de"

func loadAddressURL(){
    let requesturl = NSURL(string: urlpath)
    let request = NSURLRequest(URL: requesturl)
    webview.loadRequest(request)
}

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    loadAddressURL()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


}

错误:

fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
self    uiwebview.ViewController    0x7987fc70  0x7987fc70
request NSURLRequest *  0x78ebfc40  0x78ebfc40
requesturl  NSURL * ""  0x78ec0040
3个回答

11

你只是没有将UIWebView连接到webview类属性

打开助理编辑器,将xib或storyboard显示在左侧,将视图控制器源文件显示在右侧,单击 webview 属性左侧的圆形,并拖动到UIWebView控件中。建立连接后,运行应用程序,现在应该可以正常工作了

Connect iboutlet


我做了同样的事情,但是*@#&* UIWebView甚至没有出现,我只看到白屏什么也没有。 - user2917245

0
我猜你在模拟器上测试,所以会出现白屏的情况。如果你在真机上测试,应该就没问题了。

0
你需要在 'UIWebView' 后面加上 "!",并解包 "requesturl" 以获取字符串值,否则它将是一个可选项,会导致错误。
 import UIKit

 class WebViewController: UIViewController {

 @IBOutlet var webview: UIWebView!

var urlpath: String = "http://www.google.de"

func loadAddressURL(){
    let requesturl = NSURL(string: urlpath)
    let request = NSURLRequest(URL: requesturl!)
    webview.loadRequest(request)
}

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    loadAddressURL()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接