gpt4 book ai didi

ios - NSPredicate 在 NSSet 中查找具有属性的对象

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

我有一个 NSManagedObject,它包含其他 NSManagedObjectsNSSet

我需要检查这些对象是否在 NSSet 中有值,然后返回它们。

我使用 MagicalRecord 来获取数据。

所以我需要这样的东西:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"stringObjects contains %@", string];

因此,如果 NSSet stringObjects 包含一些我正在寻找的字符串,那么返回我请求的对象。

这里有一个注意事项:stringObjects(名称只是代表我的 NSSet)它是包含 NSManagedObjects 的 NSSet,所以我需要通过一些 id 来搜索它们(对于例如 string_id 属性)。

那么模型看起来像这样

NSSet *set = MainObject.stringObjects;
NSString *string_id_for_first_object = [[[set allObjects] objectAtIndex:0] string_id];

只是为了更好地理解关系。

但问题是关于如何创建谓词来检查 NSSet 是否包含所需的 ID。

最佳答案

如果我没有正确理解你的问题,stringObjects 是一对多关系从一个实体 A 到另一个实体 BB 有一个属性 string_id

要查找与具有给定 string id 的任何 B 对象相关的所有 A 对象,请使用:

NSString *stringId = …; // The string that you are looking for
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY stringObjects.string_id == %@", stringId];

关于ios - NSPredicate 在 NSSet 中查找具有属性的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19905489/

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