Swift - pathForResource inDirectory参数

时间:2014-09-26 13:36:13

标签: ios xcode swift uiwebview nsurl

我正在创建一个非常简单的应用程序,它使用UIWebView显示可以放大,平移等的pdf地图。

但是,在为pdf创建目标网址时,pathForResource调用无法正常工作。这是我的代码:

var targetURL : NSURL = NSBundle.mainBundle().pathForResource(filename, ofType: type)

我在“filename”之前的括号中出现错误,即Missing argument for parameter 'inDirectory' in call。我尝试为此添加一个参数:

var targetURL : NSURL = NSBundle.mainBundle().pathForResource(filename, ofType: type, inDirectory: "Map")

我不知道要为inDirectory放什么,因为我不知道目录是什么 - 我将文件添加到我的项目中,它与我的ViewController.swift文件位于同一个文件夹中。无论如何,它确实无关紧要,因为我在同一个地方Extra argument 'inDirectory in call收到以下错误。

我该怎么办?

2 个答案:

答案 0 :(得分:4)

pathForResource()不会返回NSURL个对象,而是String?。相应地声明你的变量,它应该有效。

var targetURL : String? = NSBundle.mainBundle().pathForResource(filename, ofType: type)

或者,当然,如果您愿意 - 只需使用URLForResource()

var targetURL : NSURL? = NSBundle.mainBundle().URLForResource(filename, withExtension: type)

答案 1 :(得分:0)

我遇到了同样的问题。在我的情况下,这是因为我的变量(在你的情况下type)需要打开。添加一个爆炸!使错误消失并使代码执行。