在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。抱歉没有问题! : - )
答案 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之后。