如何在swift3中删除.DS_Store

时间:2016-10-01 11:52:52

标签: swift3 nsfilemanager

大家好data1: id A B C m1 2 2 2 m2 2 1 2 data2: id A D B m1 1 2 2 m2 2 3 2 Output: id A B m1 FALSE TRUE m2 TRUE FALSE 是我的文档目录路径。我必须删除目录中的commonPath文件。

在swift 2中我使用下面的代码它可以正常工作

.DS_Store

但我无法在swift 3.0中使用相同的代码

Xcode会自动将代码转换为

var imageNames = try! NSFileManager.defaultManager().contentsOfDirectoryAtPath(commonPath)

                if imageNames.count > 0
                {
                    imageNames.contains(".DS_Store") ? imageNames.removeAtIndex(imageNames.indexOf(".DS_Store")!) : imageNames[0]
                }

显示错误。 任何人都可以帮助我吗?

提前致谢。

2 个答案:

答案 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]
   }

答案 1 :(得分:0)

这样的事情应该在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]