только некоторые советы, которые могут помочь в дизайне вашего приложения.
Прежде всего было бы приятно подчеркнуть, что CoreData на самом деле не сравнима с plist. Я имею в виду, что CoreData похож на уровень абстракции модели данных над хранилищем данных, который позволяет вам управлять отношениями и выбирать правила между различными объектами данных. За слоем CoreData хранилище данных может быть основано на plist (только osx), базе данных sqlite или двоичном объекте.
Это также важно, потому что вы можете понять сферу применения CoreData: если вам нужно поддерживать логическую связь между различными объектами данных или выполнять несколько запросов по тем же данным или сериализовать/десериализовывать большие структуры данных, CoreData обеспечивает лучшее и быстрое решение, чтобы это произошло. Если вам просто нужно сохранить простой список элементов, которые нужно просто отобразить, нужно будет отсканировать файл plist.
Другим важным пунктом решения является тип данных, который необходимо хранить: согласно Apple, файлы plist оптимизированы для строк, чисел, дат и некоторых двоичных данных. Это то, что Apple, говорит о PLIST:
Note that property lists should be used for data that consists primarily
of strings and numbers. They are very inefficient when used with large blocks
of binary data.
Many applications require a mechanism for storing information that will
be needed at a later time. For situations where you need to store small
amounts of persistent data — say less than a few hundred kilobytes — property
lists offer a uniform and convenient means of organizing, storing, and
accessing the data.
Это означает, что если вам нужно хранить «тяжелый» материал или сложные объекты и управлять ими (например, поиск через них), система кэширования для Plist парсер может быть неэффективным (в основном на iOS).
На мой взгляд, ваша идея хранить около 200 тыс. Линейных твитов (около 1000 твитов?) С временной шкалы будет отлично работать с решением на основе plist. Также учтите, что парсинг-анализатор сильно ускоряется с небольшой структурой данных, тогда у вас будет более высокая производительность и низкое использование памяти (в основном во время запуска), потому что вам не нужно инициализировать CoreData или любую другую «оболочку кода» вокруг вашего хранилища данных. Простое на лету использование NSDictionary
, NSArray
и так далее.
И последнее, но не менее важное: реализация plist достаточно дешева, чтобы дать вам возможность перейти на CoreData на следующем шаге.
То, что я имею в виду, что иногда это не нужно использовать танк, если вам нужно ловить муха :-)
Надеется, что это помогает. Ciao!
Но действительно ли это стоит нескольких хундовских данных? Я также планирую делать Core Data в какой-то момент, но у меня есть только несколько недель до бета-тестирования ... Так вы думаете, что я должен придерживаться plist? –
Ну, это не так, как вы не можете решить переехать в Корадату в будущем, если возникнет такая необходимость. Если вам нужна скорость на рынок прямо сейчас, пойдите с plists, поскольку это будет кусок пирога, чтобы осуществить. – Rog