Я немного новичок в Core Data и задаю общий вопрос.Использование основных данных для хранения большого количества объектов
В моем текущем проекте пользователи могут получать доступ к данным, сообщаемым различными датчиками в каждом округе моего состояния. Каждый датчик представлен в виде таблицы, который собирает свои данные из вызова веб-службы. Вызов веб-службы может занять некоторое время, поскольку это приложение может использоваться в сельских районах с медленным беспроводным подключением. Кроме того, пользователям, как правило, нужны только данные из одного или двух из 55 штатов штата. В каждом графстве может быть от 15 до 500 единиц, возвращаемых веб-службой. Поскольку имена и местоположения датчиков редко меняются, я хотел бы, чтобы приложение кэшировало данные из вызова веб-службы, чтобы быстрее собирать список мест датчиков (и предлагать кнопку обновления для случаев, когда что-то изменилось). Приложение уже использует Core Data для хранения местоположений датчиков с закладками, поэтому оно уже настроено в приложении.
Моя проблема заключается в том, следует ли использовать Core Data для кэширования списка датчиков или для использования хранилища данных SqlLite. Поскольку уже существует модель данных, я мог бы просто добавить к модели еще одну сущность. Тем не менее, меня беспокоит, приведет ли это к излишним накладным расходам или, может быть, вообще не относится.
Будучи новым для Core Data, кажется, что все, что происходит на самом деле, состоит в том, что объекты сериализуются и их свойства добавляются как поля в базе данных SqlLite, управляемой Core Data. Если это так, кажется, что на самом деле не будет никаких накладных расходов на использование хранилища Core Data уже на месте.
Может кто-нибудь помочь очистить это для меня? Благодаря!
Я бы не стал беспокоиться, потому что это наоборот: Core Data - это операция с процессором и диском, в то время как медленная сеть - это связанная с сетью операция. Чем медленнее работа сети, тем быстрее Core Data - в отношении. В системе с несколькими процессорами и медленной сетью Core Data, вероятно, ничего не добавит к длительности загрузки. Но в * быстрой * сети Core Data может вносить вклад в 90% от общего времени! – CouchDeveloper