在mac应用程序中加载本地资源文件时

let urlpath = NSBundle.mainBundle().pathForResource("myResource", ofType: "html");

string的资源路径转换为NSURL总是返回nil
    println("resource path = \(urlpath)") <---resource logged ok

    web.frameLoadDelegate = self;
    let requesturl = NSURL(string: urlpath!)

   println("URL String  = \(requesturl)"),<---- returns nil

    let request = NSURLRequest(URL: requesturl!)
    web.mainFrame.loadRequest(request)

这大概就是为什么我得到错误found nil while unwrapping an Optional value
我在这里缺少什么来正确地将pathForResource转换为string

最佳答案

列奥纳多的答案中给出的密码应该是有效的,而且更容易和更安全
具有可选绑定的方法。这里有一个解释为什么
代码失败:

let requesturl = NSURL(string: urlpath!)

返回nil,因为urlpath是文件路径,而不是URL字符串
(例如“file:///path/to/file”)。
如果你用
let requesturl = NSURL(fileURLWithPath: urlpath!)

然后您将得到预期的输出。

10-08 05:54
查看更多