如何使用NSURL检索本地文件?

我在这里遇到的一个问题可能是一个我忽略的非常简单的答案……如何使用NSURL检索本地文件?我在这里:

override func viewDidLoad() {

super.viewDidLoad()

var urlpath = NSBundle.mainBundle().pathForResource("bpreg", ofType: "xml")

let url:NSURL = NSURL(string: urlpath!)!

parser = NSXMLParser(contentsOfURL: url)!

parser.delegate = self

parser.parse()

}

但是,在成功构建之后,它将挂在var urlpath上。我到处搜寻,并在这里和其他地方尝试了一些建议,但无济于事。请帮忙?:(

回答:

您正在尝试从文件系统而不是从Web加载文件。

对于创建,NSURL您需要使用fileURLWithPath:类方法。

更改您的方法,例如:

迅捷2

override func viewDidLoad()

{

super.viewDidLoad()

var urlpath = NSBundle.mainBundle().pathForResource("bpreg", ofType: "xml")

let url:NSURL = NSURL.fileURLWithPath(urlpath!)!

parser = NSXMLParser(contentsOfURL: url)!

parser.delegate = self

parser.parse()

}

迅捷3

override func viewDidLoad()

{

super.viewDidLoad()

let urlpath = Bundle.main.path(forResource: "bpreg", ofType: "xml")

let url = NSURL.fileURL(withPath: urlpath!)

parser = XMLParser(contentsOf: url)!

parser.delegate = self

parser.parse()

}


在Swift

3中,您也可以使用URL类而不是class来构造url

NSURL。因此,上述用于构建url的代码更改为:

let url = URL(fileURLWithPath: urlpath!)

以上是 如何使用NSURL检索本地文件? 的全部内容, 来源链接: utcz.com/qa/401340.html

回到顶部