Качественные базовые данные с помощью NSFetchedResultsController - учебное пособие Сохранить состояние представления таблицы - PullRequest
1 голос
/ 16 ноября 2011

Я нашел много основных данных с помощью учебных пособий nsfetchedresultscontroller, но ни одно из них не легко понять, и большинство из них не делают то, что я хочу.Все, что я хочу, - это табличное представление, которое добавляет / и удаляет ячейки.У меня уже есть эта идеальная работа!Я просто хочу сохранить состояние табличного представления при выходе из приложения!Пожалуйста, укажите мне правильное направление хорошего урока!Спасибо всем!

1 Ответ

1 голос
/ 16 ноября 2011

Вы просматриваете неправильную проверку места в Ссылке на класс UITableView этот метод:

- (NSArray *) visibleCells
Возвращает видимые ячейки таблицыв получателе.

Или лучше:

Возвращает массив путей индекса, каждый из которых идентифицирует видимую строку в получателе.
- (NSArray *) indexPathsForVisibleRows

И, наконец,

Прокручивает получатель, пока строка, идентифицируемая индексным путем, не окажется в определенном месте на экране.
- (void) scrollToRowAtIndexPath: (NSIndexPath *) indexPath atScrollPosition: (UITableViewScrollPosition) scrollPosition animated: (BOOL) animated

Если я правильно понимаю ваш вопрос
это информация, на которую вы должны обратить внимание, остальная часть должна быть деталью реализации.


Это не то или другое.
Это нужно понимать. Единственная цель NSFetchedResultsController - поддерживать коллекцию.n данных.
Время от времени UITableViewController вызывает NSFetchedResultsController и спрашивает, какую информацию мне нужно отобразить на этой позиции.

И в другой раз UITableViewController позвоните на NSFetchedResultsController и скажите это, эй ... У меня есть то, что кто-то сказал мне, чтобы удалить ... ну, я не знаю, чточтобы сделать с этим, вы могли бы позаботиться об этом (вы должны реализовать такой метод для этого).

Но ни при каких условиях NSFetchedResultsController не знает о положении UITableView, и он никогда не скажет ему куда-либо идти.Это всегда наоборот.

Так что да, вы должны продолжить изучение Core Data, это очень полезный инструмент.

Что касается вашего вопроса, когда ваше приложение собирается перейти в фоновый режим, у вас есть время посмотреть, где ваши чтоявляются visibleRows и сохраните эту информацию где-нибудь, как в NSUserDefault.Когда вы вернетесь назад, вы прочитаете эти данные и попросите табличное представление перейти туда, а не анимироваться.

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