Запрет обновления таблицы до тех пор, пока менеджер местоположений не сделает , возможно , но есть более простой способ, который, вероятно, более значим для ваших пользователей.Я бы сделал это, используя двухэтапный процесс.
- В методе cellForRowAtIndexPath укажите некоторое значимое значение для расстояния, которое указывает пользователям, что местоположение еще не обновлено.Например, проверьте, является ли ваше значение координат равным nil, и если да, установите для cell.detailTextLabel.text значение «?»или "-" или тому подобное.
- В locationManager: didUpdateToLocation: fromLocation поместите эту строку кода
[self.tableView reloadData];
Таким образомзначение расстояния в ячейке табличного представления будет обновляться по мере того, как менеджер местоположения будет получать более точные данные.Это также дает дополнительное преимущество представления значимых данных, даже если менеджер местоположений никогда не обновляется, в отличие от вашего метода, который никогда не будет отображать ваше табличное представление.