NSMutableDictionary Plist прочитал несколько - PullRequest
0 голосов
/ 27 февраля 2012

У меня есть PLIST, который содержит 3 словаря.

http://dl.dropbox.com/u/9358444/auto1.plist

Я пытаюсь загрузить это в словарь:

NSMutableDictionary *cars = [[NSMutableDictionary alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://dl.dropbox.com/u/9358444/auto1.plist"]];

Далее я положил этив NSMutableArray

[auto1 addobject:cars];

Но я не могу зачитать информацию.Он падает, когда я нажимаю строку для этого в табличном представлении.

Это работает таким образом, но я только зачитываю Пункт 0. Я также хочу прочитать все остальные.

NSMutableDictionary *cars = [[[NSMutableDictionary alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://dl.dropbox.com/u/9358444/auto1.plist"]] objectForKey:@"Item 0"];

Нужно ли создавать для каждого элемента новый NSMutableDictionary, а затем добавить его в NSMutableArray auto1?Или есть способ прочитать все элементы в Plist в словарь и массив?

1 Ответ

0 голосов
/ 27 февраля 2012

Вы должны прочитать весь ключ / значение из словаря и добавить его один за другим в ваш массив.

Чтобы перебрать все ключи в словаре, используйте

[NSDictionary allkeys]

, которыйвозвращает массив ключей в вашем dict.Затем вы можете выполнить итерацию, чтобы получить все значения из словаря.

Если вы хотите получить только значения, используйте

[NSDictionary allValues]

, который возвращает массив значений в вашем файле.

Вы можете также рассмотреть возможность помещения данных в plist следующим образом

<key>auto1</key>
<array>
    <dict>
       ...
    </dict>
    <dict>
       ...
    </dict>
</array>

Затем вы можете прочитать объект массива, используя

auto1 = [dict objectForKey:@"auto1"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...