У меня есть приложение, которое будет получать объекты Core Data с сервера. Количество предметов может быть очень большим. Каков наилучший способ ограничить количество элементов, которые будут храниться в Core Data, поэтому я не использую слишком много места на телефоне? Я думал, что для заказанных предметов, в applicationWillTerminate
, я мог отметить все, кроме первых N элементов, как toDelete
, а затем удалить их при следующем запуске приложения (в этой статье http://inessential.com/2014/02/22/core_data_and_deleting_objects). Есть предположения?Каков наилучший способ ограничить размер хранилища Core Data?
ответ
Как часто бывает, какая стратегия хороша, зависит от того, как люди используют ваши данные. Какие данные важнее оставить? Что менее важно?
Сохранение первых N
элементов в упорядоченном соотношении является простым правилом и довольно легко реализуется. Но будет ли это хорошим для вашего приложения, зависит от того, что это за данные, как человек будет его использовать, и может ли иметь отношение к остальным связанным объектам. Вам даже не нужен флаг toDelete
, вам просто нужно знать значение N
. Но имейте в виду, что вы не можете полагаться на действительно вызываемый applicationWillTerminate
, поэтому это плохое место для размещения критического кода.
Другие стратегии могут включать в себя:
- Удалить старые данные при измерении длины времени, так как он был загружен. Локальные данные соответствуют новейшим данным на сервере.
- Удалите самые старые данные, измеренные по времени, прошедшему с момента обращения пользователя к нему. Локальные данные соответствуют интересам пользователя, а также позволяют получать новые данные с сервера.
Это более сложный процесс, требующий отслеживания даты в вашем постоянном магазине. Только вы действительно можете сказать, стоят ли преимущества этой сложности.
Исходя из этого, более важный вопрос: это даже имеет значение? Сколько предметов «очень велико»? «Очень большое» количество элементов переводится во множество данных или просто много мелких предметов?
- 1. Каков наилучший способ запроса числа строк из Core Data?
- 2. Каков наилучший способ реализации облачного хранилища Google?
- 3. Каков наилучший способ изменить размер объекта BitmapData?
- 4. Каков наилучший способ вызова процедур хранилища в платформе Entity Framework
- 5. Каков наилучший способ хранения даты?
- 6. Каков наилучший способ многопоточности?
- 7. Core Data Fetch
- 8. Каков наилучший способ получить копию наконечника ртутного хранилища?
- 9. ASP.NET Core. Каков наилучший способ сохранения модели во всем приложении?
- 10. Каков наилучший способ подсчета информации о размере набора данных в Core Data?
- 11. Каков наилучший способ удаления файлов журналов Core Data создает при удалении UIManagedDocument из iCloud?
- 12. Каков наилучший способ создания ресурса?
- 13. Создание файла .sqlite из хранилища Core Data?
- 14. Каков наилучший способ увеличения?
- 15. Каков наилучший способ запроса?
- 16. Каков наилучший способ ограничить доступ к веб-сайту разработки?
- 17. Каков наилучший способ ограничить маршруты в Laravel 5.0?
- 18. Каков наилучший способ ограничить голосование на нашем сайте?
- 19. Каков наилучший способ ограничить число потоков, выполняющих определенный метод?
- 20. Каков наилучший способ ограничить диапазон дат в представлении CakePHP?
- 21. Каков наилучший способ ограничить функциональность модулей магазином или веб-сайтом.
- 22. Каков наилучший способ ограничить доступ к методу во время компиляции?
- 23. Каков правильный способ хранения временного интервала в Core Data?
- 24. Core-data vs SQLite
- 25. Каков наилучший способ подражать каретке?
- 26. Каков наилучший способ заставить hashchange?
- 27. Каков наилучший способ использования символов?
- 28. Каков наилучший способ для чтения данных из файла text/data
- 29. Каков наилучший способ хранения нескольких значений для jQuery's $ .data()?
- 30. Каков наилучший способ использования ffmpeg?
Очень большое значение, если пользователь хочет просмотреть список своих подписчиков, который имеет миллион пользовательских профилей –