在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!)
然后您将得到预期的输出。