Я застрял на этой вещи в течение многих часов, и я не знаю, что еще искать.
Я мало что могу предоставить, поскольку отладчик не показывает никаких ошибок, но это воспроизводимо — я нажимаю на очень конкретный элемент в табличном представлении, действие которого должно отклонить это модальное окно, а затем мое приложение зависает. Этого не происходит с другими элементами в табличном представлении — модальное окно полностью закрывается, и приложение продолжает работу.
Однако я проверил этот ответ, подозревая, что это тупик:
- Каждый раз, когда я нажимаю кнопку паузы в отладчике, основной поток занят чем-то другим.
- Использование ЦП, как видно из навигатора отладки Xcode, со временем увеличивается.
- Я ставлю точки останова в один из моих пользовательских методов UIControl
layoutSubviews
, и он продолжает вызываться. Он не вызывает[super layoutSubviews]
, не вызываетsetNeedsLayout
ни у кого, а просто устанавливает кадры своих подпредставлений, потому что я не использую Autolayout.
Как я могу отладить эту вещь? Я просматривал инструменты Xcode, но не могу понять данные, которые вижу. В частности, шаблон System Trace, по-видимому, способен останавливаться сразу после зависания, в отличие от других, которые продолжают запись.
Добавлено: что я вижу в трассировке системы