NSFetchedResultController Вопросы - PullRequest
       2

NSFetchedResultController Вопросы

0 голосов
/ 06 ноября 2011

В настоящее время я использую NSFetchedResultController, чтобы получить отображаемые данные. Однако у меня есть два вопроса об этом:

1) Когда я устанавливаю свойство fetchSizeBatch равным 2, мое приложение всегда падает. Что на самом деле означает fetchSizeBatch? Я не хочу устанавливать его на 2, я просто играл с ним и заметил эту ошибку.

2) В настоящее время мое приложение использует около 25 МБ памяти при прокрутке UITableView. Я предполагаю, что NSFetchedResultController является причиной этого. 25 МБ все еще нормально? Или этот контроллер какое-то устройство указано?

1 Ответ

0 голосов
/ 06 ноября 2011

Два - чрезвычайно низкое число для размера пакета Core Data. Согласно документации , которая, вероятно, объясняет это гораздо лучше, чем я, установка размера пакета означает, что данные будут обрабатываться партиями;другими словами, Core Data запрашивает в базе данных отсортированные результаты, но извлекает только количество, заданное размером пакета, в управляемые объекты.Реализация этого - и это большая часть - это прокси-подкласс NSArray, который будет пейджировать элементы из каждого пакета всякий раз, когда к ним обращаются, либо по индексу, по перечислению, что угодно.В вашем случае это означает, что Core Data отправляется обратно в базу данных через каждые два объекта.Для NSFetchedResultsController, говорящего с UITableView, вы можете увидеть, насколько это серьезная проблема.

В противном случае 25 МБ - это не фантастика, но я видел, что приложения работают намного хуже.Я бы сказал, что ты хороший.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...