Swift:webView项目中的ViewController错误

时间:2014-06-03 23:35:23

标签: uiwebview swift

在Swift中的Xcode 6中编写一个简单的应用程序。

class htmlViewController : UIViewController 
{
    @IBOutlet var webbb: UIWebView
}

class ViewController: UIViewController 
{
    override func viewDidLoad() 
    {
        let url = NSURL(string: "http://apple.com")
        let reqq = NSURLRequest(URL: url)
        self.webbb.loadView(reqq)
        super.viewDidLoad()
    }
}

在线上有一些错误“self.webbb.loadView(reqq)”:

  

ViewController没有名为WebView的成员。

有什么想法吗?

P.S。抱歉没有问题! : - )

4 个答案:

答案 0 :(得分:8)

在UIWebView中加载网页只需使用以下代码:

@IBOutlet var web1 : UIWebView


override func viewDidLoad() {
    super.viewDidLoad()

    var url = NSURL(string: "http://www.google.com")
    var request = NSURLRequest(URL: url)

    web1.loadRequest(request)

}

如果您想从主包中加载页面,请使用以下代码:

@IBOutlet var web1 : UIWebView

override func viewDidLoad() {
    super.viewDidLoad()

    var url = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("pageName", ofType: "html"))

    //var url = NSURL(string: "http://www.google.com")

    var request = NSURLRequest(URL: url)

    web1.loadRequest(request)

}

答案 1 :(得分:1)

您在名为webbb的类中定义了htmlViewController,但您正在为另一个名为ViewController的子类添加功能。

答案 2 :(得分:0)

您遇到的问题是ViewController类无法访问webbb变量。这个问题有一些解决方案。

解决方案1:

定义ViewController类时,请创建超类htmlViewController。这看起来像这样:

class ViewController: htmlViewController{...}

这意味着ViewController类将继承htmlViewController类。这允许您从htmlViewController类访问变量和函数。您可以在this document中阅读有关继承和swift的更多信息。


解决方案2:

为什么不将webbb变量带入ViewController类?如果您不打算在其他任何地方使用htmlViewController类,我建议您这样做。这是一个例子

class ViewController: htmlViewController{
    @IBOutlet var webbb: UIWebView
    //Do everything else.
}

答案 3 :(得分:0)

你还需要添加一个!在您定义UIWebView之后。