2016-07-25 3 views
0

여기에 수수께끼가 있거나 뭔가 보이지 않습니다. 나는 테이블보기 (UITableView) 및 코드를 함께 일하고마지막 셀이 UITableView에서 누락되었습니다.

은 다음과 같습니다

Number of row = 5 
Row = 0 
Row = 1 
Row = 2 
Row = 3 
Row = 4 
THIS SHOULD NO HAPPEN!! 
(lldb) 

내 질문은 : 왜 내가 할

여기
print("Number of row = \(tableView.numberOfRowsInSection(0))") 

for row in 0..<tableView.numberOfRowsInSection(0) { 
    print("Row = \(row)") 

    if let _ = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: 0)) { 
     // All is OK. 
    } else {print("THIS SHOULD NO HAPPEN!!")} 
} 

내가 디버거 창에서 무엇을 얻을 메시지를 받으시겠습니까? : 이것은 일어나지 않아야합니다 !!

마지막 행에 셀이 있어야합니다. 무슨 일 이니?

+0

해당 셀을 볼 수 없기 때문에. 다음을보십시오 : http://stackoverflow.com/questions/5232849/cellforrowatindexpath-returns-nil – t4nhpt

+0

마지막 셀을 볼 수 있습니다. 현재 화면에 표시되지 않는다면? 당신이 언급 한 게시물을 살펴 보겠습니다. – Michel

+0

예, "화면에서 볼 수 있음"을 의미했습니다. 테이블의 모든 셀을 표시 할 수 없기 때문에 사용자에게 화면에 표시되는 항목을 표시 한 다음 스크롤 할 때 다른 셀을로드합니다. – t4nhpt

답변

0

마지막으로 셀이 생겼는데 "이럴 필요가 없습니다!" 메시지가 보이지 않습니까? 셀이 보이지 않거나 인덱스 경로가 범위를 벗어난 경우 cellForRowAtIndexPath는 nil을 반환합니다.

관련 문제