我想每隔1分钟清除默认缓存目录中的所有图像,但缓存文件没有特定类型的扩展名,我不知道如何删除像PNG(不是其他数据)的图像。 这是我在本网站上看到的示例代码:
let fileManager = FileManager.default
let documentsUrl = FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask).first! as NSURL
let documentsPath = documentsUrl.path
do {
if let documentPath = documentsPath
{
let fileNames = try fileManager.contentsOfDirectory(atPath: "\(documentPath)")
print("all files in cache: \(fileNames)")
for fileName in fileNames {
if (fileName.hasSuffix(".png"))
{
let filePathName = "\(documentPath)/\(fileName)"
try fileManager.removeItem(atPath: filePathName)
}
}
let files = try fileManager.contentsOfDirectory(atPath: "\(documentPath)")
print("all files in cache after deleting images: \(files)")
}
} catch {
print("Could not clear temp folder: \(error)")
}
答案 0 :(得分:1)
您可以在删除之前使用ImageIO测试每个文件,但这意味着在删除它之前将其读取。它取代后缀BUT的测试
因为它实际上是不必要的昂贵恕我直言,我甚至不提供代码。
=>重命名您的图像以具有后缀或前缀,以便您可以通过名称(n次调用)识别它们
=>将图像放在一个单独的文件夹中,然后删除该文件夹以清除它们。 (1电话)