2009-11-29 2 views
3

Я экспериментирую с основными данными, файлами plist, плоскими файлами и sqlite. Я не могу отличить эффективность использования небольших наборов данных. Что касается различий на поверхности (например, API), я знаю разницу.Устойчивость данных Touch Cocoa

Но я пытаюсь понять, какая модель персистентности лучше всего подходит для этой ситуации.

+1

Это полностью зависит от ваших целей. Лучший вопрос: «Моему приложению нужно [указать свои требования], какой лучший подход?» –

+1

для эффективности небольших данных, вероятно, в основном о том, «что поможет мне сделать приложение скорейшим?» –

ответ

4

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

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

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

Sqlite подходит для случая, когда ваши данные организованы в сильной реляционной манере, и вместо ключевого значения вы предпочтете, чтобы мощь sql работала напрямую с вашими данными.

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