Ответ, на самом деле, намного проще, чем любой из этих постов в блоге.Правило:
- Если вы разрабатываете для любой платформы OS X;
- Если у вас нет доступа к проприетарному формату;и
- Если ваш файл персистентности не нужно читать на платформе, отличной от OS-X
Тогда вам следует использовать Core Data.Это так просто.Базовые данные предоставляют вам так много возможностей, а простота использования по сравнению с простым SQL делает выбор простым.Что касается производительности, то это красная сельдь.Там, где это имеет значение, Core Data может легко выполнить пользовательский код, обращающийся к базе данных SQLite.Тем не менее, производительность на Cocoa Touch на самом деле вторичная проблема.
Основная проблема - память.У вас есть небольшой объем памяти для работы с Cocoa Touch, и ваша модель данных может легко справиться с этим.Базовые данные решают эту проблему.Он следит за тем, сколько памяти он использует, и автоматически удаляет объекты из памяти , когда получает предупреждение о памяти.Весь этот довольно сложный код вы должны были бы написать сами, если бы использовали SQLite напрямую.
Меньше времени на кодирование модели данных означает, что у вас больше времени на то, чтобы сделать ваше приложение великолепным.