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.
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