ios - 带有子实体的 NSFetchRequest - 在子实体内搜索

标签 ios search core-data nspredicate nsfetchrequest

我试图弄清楚是否可以使用相同的获取请求对数据模型进行两种搜索,但根据搜索输入是字母还是数字使用不同的谓词。

所以我有一个联系人实体和一个电话实体。联系人有一个电话号码列表(工作号码、手机号码等)。所以我想做的是有一个获取请求,其中包含我认为会带回联系人及其电话号码列表的子实体?然后,根据用户输入的是字母还是数字,搜索联系人姓名或电话号码。我不确定如何在谓词中执行后一部分,或者如果有可能,因为它是一个数字列表而不仅仅是一个(否则我认为我可以执行“contact.number”)。

如果不可能,我不知道还能尝试什么。我使用联系人姓名显示结果。因此,如果我对电话场景有一个完全不同的获取请求,我可以带回所有电话号码 - 但随后我必须进行第二次获取以获取与这些电话号码相关的所有联系人,以便能够显示结果的名称?这看起来确实很慢。我有 4 万个联系人......

最佳答案

以下“联系人”谓词可用于获取电话号码以给定前缀开头的所有联系人:

[NSPredicate predicateWithFormat:@"ANY phoneNumbers.number BEGINSWITH %@", numberPrefix];

关于ios - 带有子实体的 NSFetchRequest - 在子实体内搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12130561/

相关文章:

ios - 在与父实体有关系的子 NSManagedObjectContext 中创建实体

iphone - 将一个实体的 NSManagedObjectID 保存为另一个实体的属性?

ios - XCode 4.3.1 中的核心数据设置一对多

ios - 如何获取Tableview中指定行的IndexPath?

iphone - 导入指令不允许访问该类

c# - Xamarin iOS 同步运行具有返回值的任务

java - 搜索范围内类的方法调用和字段引用

javascript - 百度搜索蜘蛛懂 Javascript 吗?

iphone - iOS 中的委托(delegate)

search - 在ElasticSearch数组中查找多值元素