NSPredicate with sub array

和自甴很熟 提交于 2019-12-07 23:38:21

问题


I am looking at the following type of data structure:

{
    author = "Author 1";
    channelIds =         (
        7
    );
},
{
    author = "Author 2";
    channelIds =         (
        7,
        1
    );
},
,
{
    author = "Author 3";
    channelIds =         (
        3,
        7
    );
}

I'd like to build an array consisting of all items where channeldIds = 7.

I was trying things along the lines of the following predicate:

NSPredicate * filterById = [NSPredicate predicateWithFormat:@"channelIds[0] = '7'"];
  • How can I do what I'd like here?
  • I can have an x number of channelIds, is there any way to iterate in the predicate?

Tia, S.


回答1:


Easier:

NSPredicate *filterById = [NSPredicate predicateWithFormat:@"channelIds CONTAINS %@", @"7"];

This is assuming that your channelIds value is an array of strings. If it's an array of numbers (NSNumber), then your format string would simply be @"channelIds CONTAINS 7".



来源:https://stackoverflow.com/questions/4997720/nspredicate-with-sub-array

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!