В последнее время я спрашивал об объектах кругового буфера Obj-C, предполагая, что это лучший способ контролировать тонны данных в UITableView.
Я нашел решение в отношении объектов Circular buffer, но мне было интересно, может быть, лучшее, более быстрое и гораздо более эффективное решение для памяти: вызов моей SQLite DB для обновления UITableView.
В некотором роде - память будет выпущена после обновления UITableView, и не будет необходимости удерживать ссылку на объекты, что будет более эффективно и экономить память, чем удерживать постоянный NSMutableArray со всеми объектами внутри Это.
Вызов базы данных SQLite для обновления UITableView
Как вы подходите к обновлению UITableView с массой данных (объекты 50k), которые также хранятся в базе данных SQLite?
Заранее спасибо, ~ Natanavra.
Спасибо за ответ; Я недавно изучил CoreData, но моя система уже использует SQLite, и я действительно не хочу менять ядро своего приложения. Я хотел бы знать, что вы думаете о реализации той же функции, для которой был создан NSFetchedResultsController, но с SQLite. Еще раз спасибо за ваш ответ. – natanavra
Моей рекомендацией было бы перенести существующую базу данных SQLite в Core Data. Недавно я завершил такую миграцию для своего приложения, чтобы использовать возможности, предоставляемые Core Data. Моя модель данных была чрезвычайно сложной, но при написании процедуры миграции для нее потребовалось всего несколько дней. Вы потратили гораздо больше времени на реализацию собственного процесса сбора, кэширования и управления памятью, чем просто перенос базы данных на Core Data и использование того, что она предоставляет. –
Я использую sqlcipher, поэтому я не могу использовать Core Data самостоятельно. Я сам пойму на эту проблему, я думаю, что в конце концов мы действительно говорим о том, что вы запрашиваете только те объекты, которые вам нужны, сначала запрашивая количество всех объектов, а затем запрашивая те, которые вам нужны по запросу с OFFSET, установленным в indexPath.row. –