Список свойств или sqlite для статических данных?

StackOverflow https://stackoverflow.com/questions/934878

  •  06-09-2019
  •  | 
  •  

Вопрос

Существует ли какой-либо "Наилучший практический" подход к хранению постоянных данных статический данные для приложений iPhone?

У меня есть приложение, которое считывает словарь примерно из 1000 элементов, многие из которых являются массивами.Я начал использовать для этого один plist, и он стал несколько громоздким, тем более что большая часть значений представляет собой HTML-строки.

Есть ли для меня лучший способ подойти к этому?Я планирую значительно масштабировать это приложение, и я, очевидно, не хочу менять свой подход на полпути.

Я поискал в Гугле iphone data storage и варианты, но не хватило ничего, что хотя бы касалось наилучшей практики.

Это было полезно?

Решение

Похоже, вы намерены распространять какие-то данные с помощью своего приложения.Список свойств, вероятно, проще всего поддерживать, но все они будут загружены в память сразу.Это может занять много памяти устройства.

С другой стороны, база данных sqlite будет загружать только те данные, которые вы запрашиваете.Я не уверен, как структурированы ваши данные, но вы могли бы довольно легко создавать пары ключ-значение с помощью одной таблицы базы данных.(Одна таблица с key колонна и value столбец) Затем, если бы это был я, я бы написал класс Objective-C для переноса запросов к базе данных, чтобы я мог писать простые инструкции типа:

NSString *welcomeText = [[MyData sharedData] dataWithKey:@"WelcomeText"];

Получение данных в базу данных с самого начала не должно быть сложным.Вы можете использовать командную строку sqlite3 утилита для массовой загрузки ваших данных.Есть команда, которая называется .import это позволит импортировать ваши данные из текстового файла.

Надеюсь, это поможет вам двигаться в правильном направлении!

Другие советы

Я бы выбрал решение на sqlite.Приложения, над которыми я сейчас работаю, которые являются просто приложениями, помогающими мне освоить разработку iPhone, в основном все используют sqlite.Я использую плагин sqlite для firefox, чтобы помочь в обслуживании базы данных, которая работает на удивление хорошо. https://addons.mozilla.org/en-US/firefox/addon/5817

Как предположил Алекс, использование класса-оболочки также было бы лучшим способом.

Не забывайте, что в версии 3.0 вы можете использовать слой CoreData вокруг SQLLite, что может сделать его более привлекательным для вас.

Если вам не нужно хранить какую-либо реляционную информацию о ваших данных, почему бы просто не использовать файлы?Будет потрачено впустую некоторое пространство файловой системы, но обычные файлы могут быть наиболее эффективным решением для памяти и процессора, в зависимости от размера и количества ваших элементов.

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

Я бы использовал sqlite.Он уже существует, прост в использовании и обеспечит наиболее гибкий путь для расширения в будущем.

Я постоянно использую sqlite для статических данных в своих приложениях для iPhone.

Все, что я сделал, это сохранил состояние при закрытии приложения.Для этого я использовал файл.

sqlite идеально подходит для вашего приложения.sqlite - это довольно просто.Я использовал его в приложениях Adobe AIR.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top