Палец вверх 0
Перевод
Перевод

Как хранить все эти предварительно созданные данные?

В настоящее время я храню некоторые часто используемые массивы и словари в файлах .plist. Тем не менее, дубликаты данных существуют в этих файлах. Вместо этого я хотел бы иметь возможность реализовать что-то более похожее на реляционную базу данных, чтобы хранить ссылки на данные, а не повторять их. Я предполагаю, что нет никакого способа сделать это с файлами plist, но CoreData кажется излишним для этого.

Одна мысль, которую я имел, состояла в том, чтобы создать подклассы NSArray и NSDictionary для обеспечения значений по умолчанию. Вместо того, чтобы загружать словарь из файла plist, любой объект, которому нужны данные, вместо этого просто создает один из этих подклассов NSArray / NSDictionary (который, в свою очередь, создает экземпляры других из этих подклассов, когда это необходимо - это то, как функциональность «реляционной базы данных» будет быть достигнутым). Это разумный подход, или есть какой-то другой инструмент в iOS или XCode, о котором я не знаю и который сделал бы это простым?

iphone ios objective-c xcode plist
задан maxedison 29 февр. 2012 г., 4:09:54
источник

2 ответа

Решение 1
Перевод
Перевод

Если данные никогда не изменятся, я буду придерживаться вашего текущего подхода, если только у вас не возникнут проблемы с производительностью. Другой вариант - переместить все в SQLite, а затем использовать оболочку, такую как FMDB.

Если данные являются исходными данными, которые будут меняться в течение всего жизненного цикла приложения (вам необходимо постоянство между запусками), я бы переключился на CoreData.

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

ответ дан sosborn 29 февр. 2012 г., 4:16:49
источник
Палец вверх 1
Перевод
Перевод

Я использовал SQLite в подобных ситуациях.
Вот видео всего, что я узнал об использовании SQLite в приложениях ( класс Стэнфорда ). Я предполагаю, что есть много других примеров.

Приятно то, что вы можете использовать различные инструменты / плагины для ввода или управления вашими данными. Затем просто сделайте все необходимые запросы в своем коде.

ответ дан elaydin 29 февр. 2012 г., 9:44:37
источник