Привет всем, это может быть глупым вопросом и может быть задан раньше, я хочу, чтобы фильтр массива использовал предикат. У меня есть массив, который содержит словарь такого же типа, как и следующий.Фильтровать массив с использованием предиката на основе другого массива, который является ключом для предиката
<NSArrayM>(
ID:54d3ca82535c12243400c254
Room JID:(null)
name:(null)
photo:(null)
type:3
lastMessage:Gand
lastMessageDate:2015-02-05 20:02:47 +0000
occupantIDs:(
2285222,
2285224
)
userID:2285224
unreadMessagesCount:4
lastMessageUserID:2285224
)
Я хочу отфильтровать массив с помощью идентификаторов ключевых лиц, которые являются массивами. Я хочу создать предикат, который будет соответствовать идентификаторам-пассажирам в качестве ключа. Я хочу знать, могу ли я использовать это для фильтрации массива.
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"occupantIDs = @[2285222,2285224]"];
NSArray *filterArray = [dialogs filteredArrayUsingPredicate:predicate];
Любой ответ можно оценить.
Вы можете уточнить: сделайте вы хотите включить комнаты, где: a) любой пассажир соответствует либо 2285222, либо 2285224, либо b) оба 2285222 и 2285224 были жильцами? И вы хотите включить комнаты, в которых также есть другие пассажирские идентификаторы в дополнение к этим двум? – pbasdf
OccupantsIDs известны, так что это только они, и я хочу фильтровать в соответствии с этим. Если мы сможем получить результат от использования одного из них, то это также хорошо для моего случая, но я предлагаю лучше использовать оба для сравнения. – jogshardik