Ale*_*tev 13 xcode ios swift swift2
我从文档目录中获取mp3文件,我写道,pathExtension等于"mp3",在Swift 1.2中它正在工作,但是在Swift 2.0中我得到错误"'pathExtension'不可用:在NSURL上使用pathExtension."
func fetchFilesFromFolder() {
let fileManager = NSFileManager.defaultManager()
let folderPathURL = fileManager.URLsForDirectory(NSSearchPathDirectory.DocumentDirectory, inDomains: NSSearchPathDomainMask.UserDomainMask)[0]
if let directoryURLs = try? fileManager.contentsOfDirectoryAtURL(folderPathURL, includingPropertiesForKeys: nil, options: NSDirectoryEnumerationOptions.SkipsHiddenFiles) {
listOfMP3Files = directoryURLs.map(){ $0.lastPathComponent! }.filter(){ $0.pathExtension == "mp3" } // error is here
}
}
Run Code Online (Sandbox Code Playgroud)
Dha*_*esh 12
或者您可以使用此扩展程序:
extension String {
var ns: NSString {
return self as NSString
}
var pathExtension: String {
return ns.pathExtension
}
var lastPathComponent: String {
return ns.lastPathComponent
}
}
Run Code Online (Sandbox Code Playgroud)
只需更改顺序:首先filter,然后map。现在该方法pathExtension应用于 NSURL 对象。
listOfMP3Files = directoryURLs.filter { $0.pathExtension == "mp3" }.map { $0.lastPathComponent! }
Run Code Online (Sandbox Code Playgroud)
您可以使用该规则省略filter和后面的一对括号。maptrailing closure
Apple 已删除与路径相关的 API,以String选择更合适的URL.
| 归档时间: |
|
| 查看次数: |
7689 次 |
| 最近记录: |