С помощью Swift 3 вызывается UTCableView's func tableView(_ tableView: UITableView, cellForRowAt indexPath: @autoclosure @escaping IndexPath) -> UITableViewCell
. Я хочу отслеживать, кто вызывает эту функцию. Насколько мне известно, это будет вызвано только в том случае, если необходимо отобразить ячейку. Однако в stacktrace override internal func tableView(_ tableView: UITableView, numberOfRowsInSection section: @autoclosure @escaping Int) -> Int
не вызывается и нет stacktrace. Может ли кто-нибудь советовать, с чего начать рыть? Благодаря!cellForRowAtIndexPath вызывается, но без stacktrace
ответ
По умолчанию вы видите только трассировки стека, который содержит символы отладки. Таким образом, здесь вы не увидите много каркасных структур.
Чтобы увидеть все, есть небольшая кнопка в нижней части окна трассировки стека, третье место справа, что позволит также методы без отладочных символов:
(В факт, это зависит от вашей версии Xcode, в более старых версиях есть какой-то слайдер, который будет отображать более или менее детали в трассировке стека).
. Я отметил эту опцию в навигаторе отладки, см. Обновленный stacktrace. Еще не повезло. numberOfRowInSection даже не в stacktrace – chlkdst
Несомненно, это не так. 'numberOfRows: inSection' вызывается табличным представлением _before_' cellForRow: atIndexPath', поэтому он определенно не должен находиться в stacktrace. –
Yup Я получаю это сейчас, всегда бывает, что 'numberOfRows: inSection' находится в stacktrace. Моя основная проблема заключается в том, что я не знаю, кто запускает 'cellForRow: atIndexPath' – chlkdst
Как упоминалось в @AndreasOetjen, это нормальное поведение, потому что метод get вызван из класса UIKit Framework. Стол вызовов в этой структуре скрыт по умолчанию и может быть выбран этими кнопками.
Почему вы не думаете, что 'numberOfSections' (или вы имеете в виду' numberOfRowsInSection') не вызывается? – rmaddy
Я поставил точку останова в 'numberOfRowsInSection', но его никогда не называли – chlkdst
Уверены ли вы, что у него есть правильная подпись? Обновите свой вопрос с помощью соответствующего кода. – rmaddy