Mat*_*der 8 core-data nsset nspredicate ios
我有一个NSMangedObject包含NSSet其他的NSManagedObjects.
我需要检查这些对象是否有值NSSet,然后返回它们.
我使用MagicalRecord来获取数据.
所以我需要这样的东西:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"stringObjects contains %@", string];
Run Code Online (Sandbox Code Playgroud)
因此,如果NSSet stringObjects包含我正在寻找的一些字符串,那么返回我请求的对象.
这里有一点需要注意:stringObjects(例如,它代表我的名字NSSet)它NSSet包含NSManagedObjects,所以我需要通过一些id(例如string_id属性)来搜索它们.
那么模型看起来像这样
NSSet *set = MainObject.stringObjects;
NSString *string_id_for_first_object = [[[set allObjects] objectAtIndex:0] string_id];
Run Code Online (Sandbox Code Playgroud)
只是为了更好地了解关系.
但问题是如何创建谓词来检查NSSet是否包含所需的id.
Mar*_*n R 16
如果我正确理解你的问题,stringObjects是从一个实体A到另一个实体B的多对多关系,而B有一个属性string_id.
要查找与给定的任何B对象相关的所有A对象,请使用:string id
NSString *stringId = …; // The string that you are looking for
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY stringObjects.string_id == %@", stringId];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6508 次 |
| 最近记录: |