Может быть, я упускаю что-то очевидное, но мне трудно программно настроить выбор строки в табличном представлении. Цель состоит в том, чтобы просто открыть tableView с уже выбранной строкой. Проблема заключается в том, что мне нужно подождать, пока tableView полностью загрузится, прежде чем я смогу изменить выбор.
Я прочитал различные стратегии, такие как вызов reloadData для tableView в методе viewController viewWillAppear, а затем немедленный вызов selectRowAtIndexPath для целевой строки. Но когда я это делаю, я получаю исключение диапазона, потому что tableView имеет ноль строк в этой точке. Методы UITableViewDelegate (numberOfRowsInSection и т. Д.), По-видимому, не вызываются немедленно в ответ на reloadData (что имеет смысл, если строки таблицы отображаются «лениво»).
Единственный способ заставить это работать - это вызвать selectRowAtIndexPath после небольшой задержки, но затем вы можете увидеть tableView, прокручивая выбранную строку в представление.
Конечно, есть лучший способ сделать это?