Приложение для моих часов использует WKInterfaceController
для отображения WKInterfaceTable
. В случае ошибок отображается предупреждение с использованием presentAlert
, которое вызывается из представленного WKInterfaceController
.
. Я установил символическую точку останова на UITableViewAlertForLayoutOutsideViewHierarchy
, потому что ранее я получил предупреждение:
Только предупреждение один раз: UITableView было приказано расположить свои видимые ячейки и другое содержимое, не находясь в иерархии представлений (табличное представление или одно из его суперпредставлений не было добавлено в окно). Это может привести к ошибкам, заставляя представления внутри табличного представления загружаться и выполнять компоновку без точной информации (например, границ табличного представления, сбора признаков, полей компоновки, вставок безопасной области и т. Д.), А также приведет к ненужным накладным расходам производительности из-за дополнительных проходов компоновки,Создайте символическую точку останова в UITableViewAlertForLayoutOutsideViewHierarchy, чтобы перехватить это в отладчике и посмотреть, что вызвало это, чтобы можно было вообще избежать этого действия, если это возможно, или отложить его, пока представление таблицы не будет добавлено в окно.
Теперь мое приложение останавливается на этой точке останова, когда отображается мой WKInterfaceTable
, и должно быть представлено предупреждение на
let visibleInterfaceController = WKExtension.shared().visibleInterfaceController
visibleInterfaceController?.presentAlert(withTitle: title, message: message, preferredStyle: .alert, actions: [okAction])
Трассировка стека:
Мой вопрос:
В чем причина этой точки останова и как ее можно избежать?
РЕДАКТИРОВАТЬ:
Я только что понял, когда я пытаюсь редактироватьэта точка останова показывает:
... и я понятия не имею, что это значит ...