Вы просматриваете неправильную проверку места в Ссылке на класс 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.Когда вы вернетесь назад, вы прочитаете эти данные и попросите табличное представление перейти туда, а не анимироваться.