#ios #objective-c
Вопрос:
Как я могу вернуть все значения воды из NSDictionary, используя NSPredicate? Он должен возвращать значения 1 и 2 и игнорировать значение 3.
NSDictionary *myDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"Water", @"value2", @"Water",@"value3", @"Earth" ,nil];
Комментарии:
1. Вы вообще пытались запустить свой код? Если вы напечатаете
myDictionary
, каков будет результат? Существует единство ключей… Если это «исправлено», знаете ли вы ключ, по которому хотите отфильтровать?2. Я ничего не пробовал…
3. У вас не может быть дубликатов ключей в a
NSDictionary
, поэтому вы можете никогда их не увидетьvalue2
… И непонятно, в чем логика фильтрации. Какой у вас есть вклад? Зачем использовать необходимое aNSPredicate
?4. Чтобы сделать запрос типа «выберите значения водяного ключа из MyDictionary», это цель вместо использования быстрого перечисления для цикла
5. На самом деле нет никакого способа сделать это. Вам нужно будет получить только ключи (
allKeys
), применитьNSPredicate
их к этому и создать новый словарь из сохраненных ключей…