Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在swift4.2中一次删除本地数据库中的多个项目_Ios_Swift4.2 - Fatal编程技术网

Ios 在swift4.2中一次删除本地数据库中的多个项目

Ios 在swift4.2中一次删除本地数据库中的多个项目,ios,swift4.2,Ios,Swift4.2,我正在使用第三方库作为内部数据库。它是SharkORM。通过使用它,我可以一次删除选定的一个项目,但我的要求是我需要删除集合视图中的多个选定项目。有人能帮我这样做吗?非常感谢。我的文件夹结构是文件夹列表,每个文件夹将有一个图像文件的集合和pdf文件的列表。在这里,我想一次删除选定的图像文件 class func DeleteSelectedDocuments(selectedIndexes: [Int],fileId:String){ File.query()

我正在使用第三方库作为内部数据库。它是SharkORM。通过使用它,我可以一次删除选定的一个项目,但我的要求是我需要删除集合视图中的多个选定项目。有人能帮我这样做吗?非常感谢。我的文件夹结构是文件夹列表,每个文件夹将有一个图像文件的集合和pdf文件的列表。在这里,我想一次删除选定的图像文件

 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…]我刚刚更新了上面的疑问,我已经编写了该查询,但仍然没有从数据库中删除这些项