Swift 从图像路径数组中删除项目

Swift 从图像路径数组中删除项目,swift,Swift,我有一个函数,可以收集Documents目录中的所有.jpg文件以及其中的所有文件夹。然后,该函数将.jpgs的文件路径放入一个数组中。我需要做的是从数组中过滤一个文件defaultImage.jpg。我遇到的问题是数组中的项是指向jpg图像的路径,因此它们不是字符串。如何过滤“theArray”或“files”或“theimagepath”变量以删除defaultImage.jpg?我尝试获取defaultImage.jpg的索引,但还是因为变量包含指向图像文件的路径,而这些路径似乎不起作用

我有一个函数,可以收集Documents目录中的所有.jpg文件以及其中的所有文件夹。然后,该函数将.jpgs的文件路径放入一个数组中。我需要做的是从数组中过滤一个文件defaultImage.jpg。我遇到的问题是数组中的项是指向jpg图像的路径,因此它们不是字符串。如何过滤“theArray”或“files”或“theimagepath”变量以删除defaultImage.jpg?我尝试获取defaultImage.jpg的索引,但还是因为变量包含指向图像文件的路径,而这些路径似乎不起作用

我尝试了-theArray.removeAll(其中:{$0==“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") })