如何在 swift3 中删除 .DS_Store
Posted
技术标签:
【中文标题】如何在 swift3 中删除 .DS_Store【英文标题】:How to remove .DS_Store in swift3 【发布时间】:2016-10-01 11:52:52 【问题描述】:您好,commonPath
是我的文档目录路径。我必须删除目录中的.DS_Store
文件。
在 swift 2 中,我使用了下面的代码,它工作正常
var imageNames = try! NSFileManager.defaultManager().contentsOfDirectoryAtPath(commonPath)
if imageNames.count > 0
imageNames.contains(".DS_Store") ? imageNames.removeAtIndex(imageNames.indexOf(".DS_Store")!) : imageNames[0]
但我无法在 swift 3.0 中使用相同的代码
Xcode 自动将上面的代码转换成
imageNames.contains(".DS_Store") ? imageNames.remove(at: imageNames.index(of: ".DS_Store")!) : imageNames[0]
显示错误。 谁能帮帮我?
提前致谢。
【问题讨论】:
【参考方案1】:使用NSSearchPathForDirectoriesInDomains
获取文档路径,然后执行以下操作。希望它会起作用。
let documentPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString
let commonPath = documentPath.appendingPathComponent(reportImageFolder)
let outPath = commonPath + "/"
arrImages = try FileManager.default.contentsOfDirectory(atPath: outPath as String)
if arrImages.count > 0
arrImages.contains(".DS_Store") ? arrImages.remove(at: arrImages.index(of: ".DS_Store")!) : arrImages[0]
【讨论】:
【参考方案2】:这样的东西应该可以在 swift 3 中使用:
var imageNames = try! FileManager.default.contentsOfDirectory(atPath: commonPath)
if imageNames.count > 0
if imageNames.contains(".DS_Store")
imageNames.remove(at: imageNames.index(of: ".DS_Store")!)
// do something with imageNames[0]
【讨论】:
以上是关于如何在 swift3 中删除 .DS_Store的主要内容,如果未能解决你的问题,请参考以下文章
如何删除mac中的.DS_Store和git中的.DS_Store