Чи є якийсь спосіб дізнатися, коли UITableViewзакінчив запитувати дані зі свого джерела даних?
Жоден з viewDidLoad/ viewWillAppear/ viewDidAppearметодів пов'язаного контролера перегляду ( UITableViewController) тут не використовується, оскільки всі вони надто рано запускаються. Жоден з них (цілком зрозуміло) не гарантує, що запити до джерела даних на даний момент закінчені (наприклад, до прокрутки подання).
Один з способів я знайшов зателефонувати reloadDataв viewDidAppear, так як , коли reloadDataповертається, як таблиця буде гарантований завершенням запиту джерела даних стільки , скільки йому потрібно , щоб до пори до часу.
Однак це здається досить неприємним, оскільки я припускаю, що це викликає запит джерела даних про ту саму інформацію двічі (один раз автоматично та один раз через reloadData виклик) під час її першого завантаження.
Причина, яку я хочу зробити це взагалі, полягає в тому, що я хочу зберегти позицію прокрутки UITableView- але прямо до рівня пікселя, а не лише до найближчого рядка.
При відновленні положення прокрутки ( з допомогою scrollRectToVisible:animated:), мені потрібно табличне вже є достатня кількість даних в ньому, інакше scrollRectToVisible:animated:виклик методу нічого не робить (що і відбувається , якщо ви помістіть виклик на свій власний в будь-якому з viewDidLoad, viewWillAppearабо viewDidAppear).
