Как сохранить главный ключ NSDictionary в строке NSString? - PullRequest
0 голосов
/ 20 июня 2011

У меня есть лист со следующей структурой:

    <plist version="1.0">
    <dict>
        <key>000001</key>
        <dict>
            <key>name</key>
            <string>Peter</string>
                    .
            .
        </dict>
        <key>000002</key>
        <dict>
            <key>name</key>
            <string>Jack</string>
            .
                    .
        </dict>
            .
            .
    </dict>
    </plist>

Я использую этот список для создания табличного представления, когда пользователь выбирает ячейку, мне нужно загрузить другое представление с данными соответствующего внутреннего словаря. Я думал о способе сделать это, но мне нужно уметь сохранять ключи типа 000001, что-то вроде NSString * dictKey = [innerDict getMasterKey] или что-то подобное, существует ли такая вещь?

РЕДАКТИРОВАТЬ: я забыл упомянуть, что я строю plist из файла json на сервере, поэтому я не могу изменить структуру plist вообще.

Ответы [ 2 ]

0 голосов
/ 20 июня 2011

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

В качестве альтернативы вы можете рассмотреть associated objects.Вы можете посмотреть на этот документ example, и в сети есть еще несколько.Однако, на мой взгляд, это было бы чрезмерным, если только у вас нет особой цели, чтобы использование свойств не работало.

0 голосов
/ 20 июня 2011

Вставьте пару "ключ / значение" MasterKey "/" 00001 "в словарь ....

...