Ошибка UITableViewAlertForLayoutOutsideViewHierarchy: предупреждение только один раз (iOS 13 GM)IOS

Программируем под IOS
Ответить
Anonymous
 Ошибка UITableViewAlertForLayoutOutsideViewHierarchy: предупреждение только один раз (iOS 13 GM)

Сообщение Anonymous »

Я получаю странную ошибку в iOS13 при выполнении перехода и не могу понять, что это значит, и не могу найти документацию по этой ошибке. Проблема в том, что это приводит к большой задержке (несколько секунд) до выполнения перехода.


2019-09-11 22:45:38.861982+0100 Thrive[2324:414597] [TableView] Предупреждение только один раз: UITableView было приказано расположить видимые ячейки
и другие содержимое не находится в иерархии представлений (табличное представление
или одно из его суперпредставлений не было добавлено в окно). Это может
вызывать ошибки, заставляя представления внутри табличного представления загружаться и выполнять
макет без точной информации (например, границ табличного представления, коллекции признаков
, полей макета, вставок безопасной области и т. д.), а также
приведет к ненужным затратам производительности из-за дополнительных проходов макета.
Создайте символическую точку останова в
UITableViewAlertForLayoutOutsideViewHierarchy, чтобы перехватить это в
отладчиком и посмотрите, что вызвало это, чтобы вы могли вообще избежать этого
действия, если это возможно, или отложить его до тех пор, пока табличное представление
не будет добавлено в окно. Вид таблицы: ; слой = ; contentOffset: {0, 0}; contentSize: {315, 118};
AdjustContentInset: {0, 0, 0, 0}; Источник данных: >


Я использую Hero, но попробовал отключить его и использовать обычный переход, и это не помогло устранить задержку.< /p>

Код для инициации перехода — DidSelectRowAt

Код: Выделить всё

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.section == 0 {
selectedCell = realIndexFor(activeGoalAt: indexPath)
performSegue(withIdentifier: "toGoalDetails", sender: nil)
} else if indexPath.section == 1 {
selectedCell = indexPath.row
performSegue(withIdentifier: "toIdeaDetails", sender: nil)
} else {
selectedDecision = indexPath.row
hero(destination: "DecisionDetails", type: .zoom)
}
}
И тогда ни один из кодов в viewDidLoad или viewWillAppear из целевого VC никак на это не влияет (я пробовал все это закомментировать, без разницы.
Есть идеи, что является причиной этого? Могу поделиться другими необходимыми подробностями.

Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/578 ... y-ios-13-g
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»