を使用してファイルを削除することができます。それは、スウィフト3にあります:
func removeOldPlistFiles() {
let fileManager = FileManager.default
// get directory with your current plist for comparison later
let directory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let destPath = (dir as NSString).appendingPathComponent("YourCurrentPlistName.plist")
// Get the documents directory url
let documentsUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
do {
// Get the documents directory contents urls (including subfolders urls)
let directoryContents = try FileManager.default.contentsOfDirectory(at: documentsUrl, includingPropertiesForKeys: nil, options: [])
// filter the directory contents and get file names
let plistFiles = directoryContents.filter{ $0.pathExtension == "plist" }
let plistFileNames = plistFiles.map{ $0.deletingPathExtension().lastPathComponent }
for nameFile in plistFileNames {
let dir = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let item = (dir as NSString).appendingPathComponent("\(nameFile).plist")
if item != self.destPath! {
do {
try fileManager.removeItem(atPath: item)
}
catch let error as NSError {
print("FimeManager Remove Item error: \(error.debugDescription)")
}
}
}
} catch let error as NSError {
print("Directory Contents error: \(error.localizedDescription)")
}
}
私はコードは、それが機能だにもかかわらず、改善することができたとします。誰かが洞察力を持っている場合は、共有してください。
エラーが発生したくない場合は、エラーが存在する場合、エラーを処理している場所でJoeがやっていることをしたいと思うでしょう。 –