gpt4 book ai didi

objective-c - 用于检查子实体是否包含属性或 "keypath"的核心数据谓词?

转载 作者:可可西里 更新时间:2023-11-01 03:52:59 24 4
gpt4 key购买 nike

我正在 objective-c 中构建核心数据 NSFetchRequest。在数据模型中有一个抽象的父实体(包含 4 个基本属性)和许多不同的子实体,这些子实体包含父实体中没有的属性。一些子项包含共享相同名称和数据类型的属性。

我将 fetchRequest 应用于父实体,以便它搜索子实体的所有实例以查看是否存在“keypath”。

我能否构建一个只返回包含特定属性的子实体的谓词?

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%@ IN self.entityAttributes",attribute.name];

这里,attribute 是 NSAttributeDescription 的一个实例,目标是搜索在其属性列表中具有匹配名称的属性的其他实体,但我不确定如何格式化谓词。

如果需要,我可以进一步澄清。谢谢!

最佳答案

您检查实例而不是模型是否有原因?您可以轻松找出哪些实体类型具有给定属性

for (NSEntityDescription* entityDescription in [self managedObjectModel]) {
if ([[entityDescription propertiesByName] objectForKey:@"someProperty"] != nil) {
// objects of this entity support the property you're looking for
}
}

关于objective-c - 用于检查子实体是否包含属性或 "keypath"的核心数据谓词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7923795/

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