Какой лучший выбор для моего приложения — CoreData или plist

#performance #ios #core-data #plist

#Производительность #iOS #core-data #список

Вопрос:

в моем приложении мне нужно сохранить некоторые данные. Прямо сейчас я использую CoreData, у меня есть объект с 6 атрибутами. В моей базе данных имеется около 40 объектов этой сущности.

Итак, мой вопрос в том, не лучше ли сохранить их в plist? У меня нет опыта работы с этими двумя методами, но я думаю, что plist предназначены для меньшего списка объектов, но это быстрее, а для CoreData все наоборот.

Что бы вы сказали?

Ответ №1:

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

В вашем случае просто используйте Core Data. Кривая обучения круче, но оно того стоит.

Комментарии:

1. «Крутая кривая обучения означает, что предмет легко изучать, а не сложно». reddit.com/r/AskReddit/comments/n9nx2 / … , en.wikipedia.org/wiki/Learning_curve

Ответ №2:

CoreData, plist или просто архивирование с ключом — все будет работать.

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

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