스위프트 3을 사용하면 UITableView의 func tableView(_ tableView: UITableView, cellForRowAt indexPath: @autoclosure @escaping IndexPath) -> UITableViewCell
이 호출되고 있습니다. 이 기능을 누가 호출하는지 추적하고 싶습니다. 내가 아는 한이 셀은 표시 할 셀이 필요한 경우에만 호출됩니다. 그러나 stacktrace에서 override internal func tableView(_ tableView: UITableView, numberOfRowsInSection section: @autoclosure @escaping Int) -> Int
은 호출되지 않으며 스택 추적이 없습니다. 누군가가 파고 시작할 곳을 조언 할 수 있습니까? 감사!cellForRowAtIndexPath가 스택 트레이스없이 호출되었지만
답변
를 부착, 당신은 단지 디버그 기호를 포함하는 스택 추적을 참조하십시오. 따라서 여기에 많은 프레임 워크 내부가 표시되지 않습니다.
(에서 :
모든를 보려면, 디버그 기호 없이도 방법을 사용합니다 오른쪽에서 스택 추적 창 아래, 세 번째 위치에 작은 버튼이 있습니다 사실, Xcode 버전에 따라 달라지며, 이전 버전에서는 스택 추적에 세부 정보를 표시하는 일종의 슬라이더가 있습니다.
디버그 탐색기에서 해당 옵션을 선택 했으므로 스택 트레이스를 확인하십시오. 아직도 운이 없다. numberOfRowInSection은 스택 트레이스에도 포함되지 않습니다. – chlkdst
분명히 아닙니다. 'numberOfRows : inSection'은 테이블 뷰 _before_'cellForRow : atIndexPath'에 의해 호출 될 것이므로 stacktrace에 있어야하는 것은 아닙니다. –
그래, 이제 알았어. 항상 numberOfRows : inSection이 스택 트레이스에있는 경우. 내 주요 문제는 누가'cellForRow : atIndexPath'를 유발하는지 모른다. – chlkdst
@AndreasOetjen은 UIKit Framework 클래스에서 get 메서드가 호출 되었기 때문에 정상적인 동작입니다. 이 프레임 워크의 호출 스택은 기본적으로 숨겨져 있으며 언급 된 버튼으로 선택 될 수 있습니다.
'numberOfSections' (또는'numberOfRowsInSection')가 호출되지 않는 이유는 무엇입니까? – rmaddy
'numberOfRowsInSection'에 중단 점을 넣었습니다. 결코 호출되지 않았습니다 – chlkdst
올바른 서명이 맞습니까? 관련 코드로 질문을 업데이트하십시오. – rmaddy