Создание iOS plist на основе другого - PullRequest
0 голосов
/ 26 марта 2012

Я очень новичок в разработке для iOS, и у меня возникла проблема. У меня есть список, который содержит много информации для разных животных. Плист является массивом словарей, и каждый словарь является животным. Каждый словарь имеет ключ, называемый «тип», который является типом животного (кошка, собака, птица и т. Д.). Я хочу, чтобы мое приложение сначала отображало табличное представление, в котором перечислены все возможные типы. Когда пользователь выбирает тип, он переходит к другому табличному представлению, в котором перечислены все животные этого выбранного типа. Затем они могут выбрать это конкретное животное, и будет отображено другое представление со всей подробной информацией об этом конкретном животном. Я полагаю, что лучший способ подойти к этому состоит в том, что когда пользователь выбирает «тип» животного, будет создан новый список, содержащий записи каталога из исходного списка, которые имеют ключ «тип», который соответствует тому, что выбрал пользователь. Как я могу это реализовать? Будет ли эта логика в методе viewDidLoad для второго табличного представления? После создания plist, содержащего только интересующих животных, метод cellForRowAtIndexPath отобразит список животных? Спасибо за любую помощь! David

1 Ответ

0 голосов
/ 26 марта 2012

Первое: Вы не должны создавать новые списки в этой ситуации ... Если вы хотите сохранить список словарей, основанных на запросе ваших данных, он должен перейти в NSMutableDictionary / NSDictionary,Перед созданием каждой таблицы вы должны создать один из этих словарей с отфильтрованными данными и передать его в таблицу в качестве источника данных.

Секунда: Я бы вместо этого попробовал использовать базу данныхplist, чтобы сделать ваши запросы немного проще в управлении.

Третий: Максимально нормализовать ваши данные, следовательно, иметь таблицу базы данных (или plist, если вы идете по этому пути)«типы животных» и таблица / список в базе данных «животных» ... затем укажите тип животного по идентификатору, а не по имени.Если вы поменяете это имя в будущем, у вас будет огромное количество времени, пытаясь найти каждое вхождение.Кроме того, он менее глючит;один случайный орфографический пробел заставит вас задуматься, почему одно животное вызывает ошибку, а другие нет.

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