gpt4 book ai didi

ios - 查询核心数据中所有实体的快速简便方法

转载 作者:行者123 更新时间:2023-11-28 13:07:26 25 4
gpt4 key购买 nike

有没有办法同时对多个实体执行 NSPredicate 请求?

我有十几个实体,每个实体都有一个 hasChanged 字段,我需要检查这些实体中的任何一个是否发生了变化,除了分别进行每个实体(就像我在下面做的那样)是否存在更好的方法/途径?

                    let entityName = "Work"
var request = NSFetchRequest(entityName: entityName)
request.predicate = NSPredicate(format: "hasChanged ==", true)

最佳答案

实现这一目标的唯一方法是使用实​​体继承。创建一个抽象类并将其定义为您要检查的所有实体的父级。为该抽象类提供 hasChanged 属性并从您的实体类中删除该属性。

通过这种方式,您可以在抽象实体上执行 NSFetchRequest 并检索所有实体的对象。

let entityName = "YourAbstractEntity"
var request = NSFetchRequest(entityName: entityName)
request.predicate = NSPredicate(format: "hasChanged == true")

但是,也有一个缺点。该抽象实体的所有实例都将放在数据库的同一个表中。您保存的实体(以及这些实体的实例)越多,数据库的性能就越差。

关于ios - 查询核心数据中所有实体的快速简便方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32313457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com