如何使用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