我尝试打开带有IBAction的网页
@IBAction func Start(sender: AnyObject) {
self.viewWebpage("http://www.xxxxx.xx")
}
func viewWebpage(webpage: String)
{
let url = NSURL.fileURLWithPath(webpage)
println(webpage)
let request = NSURLRequest(URL: url!)
self.viewPage.loadRequest(request)
// self.viewPage.reload()
}
当我将功能更改为
时,我尝试打开的网页正常工作let url = NSURL(string: "http://www.xxxxxx.xx")
我的错误在哪里? println()打印出wright url
答案 0 :(得分:3)
问题是:
let url = NSURL.fileURLWithPath(webpage)
您正在将网址转换为文件系统网址(系统本身包含的文件的网址)。所以它不会工作,你需要将其改为:
let url = NSURL(string: webpage)
+ fileURLWithPath:
初始化并返回新创建的NSURL对象作为文件URL 具有指定的路径。声明
<强>夫特强>
class func fileURLWithPath(_ path: String) -> NSURL?
<强>目标C 强>
+ (NSURL *)fileURLWithPath:(NSString *)path
<强>参数强>
路径
NSURL对象将表示的路径。路径应该是有效的 系统路径。如果路径以波浪号开头,则必须首先展开 使用stringByExpandingTildeInPath。如果path是相对路径,那么它就是 被视为相对于当前工作目录。
为此参数传递nil会产生异常。
返回值
使用path。
初始化的NSURL对象<强>讨论强>
此方法假定路径是以斜杠结尾的目录。 如果path不以斜杠结束,则该方法检查文件系统 确定路径是文件还是目录。如果路径存在于 文件系统是一个目录,该方法附加一个尾部斜杠。 如果文件系统中不存在路径,则该方法假定它 表示文件,不附加尾部斜杠。
作为替代方案,请考虑使用
fileURLWithPath:isDirectory:
允许您显式指定是否返回NSURL对象 表示文件或目录。