Отображение значения из словаря после использования NSPredicate - PullRequest
1 голос
/ 10 сентября 2011

В настоящее время я использую NSPredicate для поиска, если определенный ключ имеет определенное значение в plist, если он совпадает, я хочу, чтобы он отображал одно из значений в словаре, а не весь словарь, но способ, которым я использую NSPredicate возвращает мне весь словарь предметов. Могу ли я знать, как это сделать?

Допустим, мой список выглядит следующим образом:

    Root (Array)
     Item 0 (Dictionary)
          Name (String)
          Number (String)
          Address (Dictionary)
               First Address (Array)
                    Item 0 (Dictionary)
                         Block (String)            Value: 1234
                         Postal Code (String)
                         Unit Number (String)
                         Street Name (String)      Value: King Street
               Second Address (Array)
                        Item 1 (Dictionary)
                         Block (String)
                         Postal Code (String)
                         Unit Number (String)
                         Street Name (String)
     Item 1 (Dictionary)
          and so on...

Мой NSPredicate выглядит так:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Block == '1234'"];
NSArray *predicateArray = [blockStage filteredArrayUsingPredicate:predicate];

NSPredicate возвращает мне все значения в элементе 0, но я хочу отображать только значение "Street Name", которое является "King Street". Как мне это сделать ???

Большое спасибо !!

1 Ответ

1 голос
/ 10 сентября 2011

Ваш запрос на выборку вернет все объекты из исходного массива, которые соответствуют вашему предикату. Так что, если ваш начальный массив содержит объекты на уровне Item 0, это то, что возвращается.

Если вы хотите отобразить только название улицы, вам нужно будет выбрать это из возвращаемых объектов, используя любые необходимые операторы objectForKey. Возможно, вам понадобится дополнительная логика, чтобы определить, какой адрес (первый или второй) соответствует вашему предикату, поскольку ключи совпадают.

Если ваши ключи действительно соответствуют описанию в приведенном выше примере, они не соответствуют кодированию значений ключей. Подробнее см. Основы кодирования значения ключа .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...