Как удалить содержимое каталога Documents (а не самого каталога Documents)?
Я хочу удалить все файлы и каталоги, содержащиеся в каталоге Documents.
Я считаю, что при использовании метода [fileManager removeItemAtPath: documentsDirectoryPath error: nil] также удаляется каталог документов.
Есть ли какой-либо метод, позволяющий удалить содержимое только каталога и оставить там пустой каталог?
Ответы
Ответ 1
Попробуйте следующее:
NSString *folderPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSError *error = nil;
for (NSString *file in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:folderPath error:&error]) {
[[NSFileManager defaultManager] removeItemAtPath:[folderPath stringByAppendingPathComponent:file] error:&error];
}
Ответ 2
Swift 3.x
let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
guard let items = try? FileManager.default.contentsOfDirectory(atPath: path) else { return }
for item in items {
// This can be made better by using pathComponent
let completePath = path.appending("/").appending(item)
try? FileManager.default.removeItem(atPath: completePath)
}