2017-02-03 19 views
0

С помощью 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

прилагается скриншот No Stacktrace

+0

Почему вы не думаете, что 'numberOfSections' (или вы имеете в виду' numberOfRowsInSection') не вызывается? – rmaddy

+0

Я поставил точку останова в 'numberOfRowsInSection', но его никогда не называли – chlkdst

+0

Уверены ли вы, что у него есть правильная подпись? Обновите свой вопрос с помощью соответствующего кода. – rmaddy

ответ

1

По умолчанию вы видите только трассировки стека, который содержит символы отладки. Таким образом, здесь вы не увидите много каркасных структур.

Чтобы увидеть все, есть небольшая кнопка в нижней части окна трассировки стека, третье место справа, что позволит также методы без отладочных символов:

Enable/Disable full stack trace

(В факт, это зависит от вашей версии Xcode, в более старых версиях есть какой-то слайдер, который будет отображать более или менее детали в трассировке стека).

+0

. Я отметил эту опцию в навигаторе отладки, см. Обновленный stacktrace. Еще не повезло. numberOfRowInSection даже не в stacktrace – chlkdst

+1

Несомненно, это не так. 'numberOfRows: inSection' вызывается табличным представлением _before_' cellForRow: atIndexPath', поэтому он определенно не должен находиться в stacktrace. –

+0

Yup Я получаю это сейчас, всегда бывает, что 'numberOfRows: inSection' находится в stacktrace. Моя основная проблема заключается в том, что я не знаю, кто запускает 'cellForRow: atIndexPath' – chlkdst

0

Как упоминалось в @AndreasOetjen, это нормальное поведение, потому что метод get вызван из класса UIKit Framework. Стол вызовов в этой структуре скрыт по умолчанию и может быть выбран этими кнопками.