gpt4 book ai didi

ios - 核心数据 : object in a predicate

转载 作者:行者123 更新时间:2023-11-29 11:22:05 25 4
gpt4 key购买 nike

在我的核心数据对象模型中,我有 3 个具有适当关系的实体,因此 MyObject 可以有很多 MyObjectProperties,每个属性可以有一个 MyObjectPropertyImage。

给定一个 myObject,我想获取所有图像。

我尝试使用以下谓词来完成它,但是我得到一个空数组:

[NSEntityDescription entityForName:@"MyObjectPropertyImage" inManagedObjectContext:managedObjectContext];
[NSPredicate predicateWithFormat:@"ANY myObjectProperty.myObject == %@", myObject];

有什么想法吗?

最佳答案

在使用 Core Data 时,最好将实体视为:对象图中的实体,而不是数据库中的表。因此,您不需要使用谓词获取与其他人相关的实体。相反,使用模型中定义的关系来导航对象图。要获取与 myObject 相关的所有图像:

// assuming the relationships are called 'myObjectProperties' and 'myObjectPropertyImage', respectively
NSSet *allImages = [myObject.myObjectProperties valueForKey:@"myObjectPropertyImage"];

请注意,如果您的对象图未加载到您的 myObject 实体的内存中,这可能会触发额外的数据库访问。为避免这种情况,请确保在 myObject 的提取请求中设置预提取关系键路径。

我希望这有助于...

关于ios - 核心数据 : object in a predicate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6520307/

25 4 0