我有一个应用程序可以正确使用 NSPredicate 过滤数组并将生成的过滤数组显示给用户。
这是我的 NSPredicate 代码:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(Name CONTAINS[cd] %@) OR (Acronym CONTAINS[cd] %@) OR (departments.Name CONTAINS[cd] %@)",searchBar.text,searchBar.text,searchBar.text];
当用户尝试按departments.Name
属性搜索时,问题就出现了。我相信问题在于我搜索数组(ListData)的方式。格式化数组的方式是:
ListData 数组包含几个带有键的对象:名称、首字母缩写词和部门(其中还有带有键的对象:名称)。我想使用 NSPredicate 搜索 ListData.Name、ListData.Acronym 和 ListData.departments.Name。
注意:一个对象可以包含 0-10 个部门。不确定这是否会导致任何问题,但我想提供尽可能多的相关信息。
我将如何格式化NSPredicate predicateWithFormat:
以搜索所有三个变量?
谢谢!