#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, который легко редактировать и поддерживать (разработчиком).