Ios 在swift4.2中一次删除本地数据库中的多个项目
我正在使用第三方库作为内部数据库。它是SharkORM。通过使用它,我可以一次删除选定的一个项目,但我的要求是我需要删除集合视图中的多个选定项目。有人能帮我这样做吗?非常感谢。我的文件夹结构是文件夹列表,每个文件夹将有一个图像文件的集合和pdf文件的列表。在这里,我想一次删除选定的图像文件Ios 在swift4.2中一次删除本地数据库中的多个项目,ios,swift4.2,Ios,Swift4.2,我正在使用第三方库作为内部数据库。它是SharkORM。通过使用它,我可以一次删除选定的一个项目,但我的要求是我需要删除集合视图中的多个选定项目。有人能帮我这样做吗?非常感谢。我的文件夹结构是文件夹列表,每个文件夹将有一个图像文件的集合和pdf文件的列表。在这里,我想一次删除选定的图像文件 class func DeleteSelectedDocuments(selectedIndexes: [Int],fileId:String){ File.query()
class func DeleteSelectedDocuments(selectedIndexes: [Int],fileId:String){
File.query()
.where(withFormat: "parentIdentifier = %@", withParameters: selectedIndexes)
.fetch()
.removeAll()
}
这是我编写的用于删除文件夹中集合视图的选定项的查询,但这些项不会从数据库中删除。如文档中所述: 删除对象 要从Shark中删除对象,只需调用 remove()在该对象上,这将从数据存储中删除它并 对其进行消毒,以确保不会意外地在某个时间将其写回 晚些时候。要优化对象的批量删除,可以使用查询 结合对结果集的removeAll()的调用,可以删除许多 立即创建对象
参考资料:同意Parth的观点,这里有一个可能对您有所帮助的片段
Employee.query()
.whereWithFormat("your criteria...", parameters: YOUR_PARAMS)
.fetch()
.removeAll()
此处,在集合视图的选定索引的参数数组或选定项数组中,您可以将数组作为参数传递,以确保与数据库中的正确对象相关的索引。like参数:[1,2,3,4…]我刚刚更新了上面的疑问,我已经编写了该查询,但仍然没有从数据库中删除这些项