Swift 从图像路径数组中删除项目
我有一个函数,可以收集Documents目录中的所有.jpg文件以及其中的所有文件夹。然后,该函数将.jpgs的文件路径放入一个数组中。我需要做的是从数组中过滤一个文件defaultImage.jpg。我遇到的问题是数组中的项是指向jpg图像的路径,因此它们不是字符串。如何过滤“theArray”或“files”或“theimagepath”变量以删除defaultImage.jpg?我尝试获取defaultImage.jpg的索引,但还是因为变量包含指向图像文件的路径,而这些路径似乎不起作用 我尝试了-theArray.removeAll(其中:{$0==“defaultImage.jpg”}),但无法让它删除图像文件Swift 从图像路径数组中删除项目,swift,Swift,我有一个函数,可以收集Documents目录中的所有.jpg文件以及其中的所有文件夹。然后,该函数将.jpgs的文件路径放入一个数组中。我需要做的是从数组中过滤一个文件defaultImage.jpg。我遇到的问题是数组中的项是指向jpg图像的路径,因此它们不是字符串。如何过滤“theArray”或“files”或“theimagepath”变量以删除defaultImage.jpg?我尝试获取defaultImage.jpg的索引,但还是因为变量包含指向图像文件的路径,而这些路径似乎不起作用
static func buildPresentationArray() -> [String]
{
let theDirectoryPath = ModelData.getDocumentsDirectory()
let fm = FileManager.default
var theArray = [String]()
theArray.removeAll()
let files = fm.enumerator(at: theDirectoryPath, includingPropertiesForKeys: nil, options: [.skipsHiddenFiles])
let theImagePaths = files!.filter{ ($0 as AnyObject).pathExtension == "jpg"}
for theImagePath in theImagePaths
{
theArray.append((theImagePath as AnyObject).path)
}
return theArray
}
从
URL
获取最后一个组件,并将其与defaultImage.jpg进行比较
theArray = [URL]()
theArray.removeAll(where: {$0.lastPathComponent == "defaultImage.jpg"})
从
URL
获取最后一个组件,并将其与defaultImage.jpg进行比较
theArray = [URL]()
theArray.removeAll(where: {$0.lastPathComponent == "defaultImage.jpg"})
试试这个:
theArray.removeAll { (image: String) -> Bool in
return image.contains("defaultImage.jpg")
}
试试这个:
theArray.removeAll { (image: String) -> Bool in
return image.contains("defaultImage.jpg")
}
您可以使用
过滤器(:)
和包含(:)
的组合来实现该功能,即
let filteredArray = theArray.filter({ !$0.contains("defaultImage.jpg") })
您可以使用
过滤器(:)
和包含(:)
的组合来实现该功能,即
let filteredArray = theArray.filter({ !$0.contains("defaultImage.jpg") })