2012-12-20 2 views
0

각 셀에서 무언가를 계산하려면 다른 섹션의 tableview 셀을 루프해야합니다. 그러나 이것을 시도 할 때 : "i"섹션이 보이지 않으면 콘텐츠를 가져올 수 없습니다.모든 테이블 뷰 셀을 가져옵니다. 심지어 보이지 않습니다.

CustomCell * c = (CustomCell *)[self.table cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:i] 

calculate 메서드를 호출하기 전에 각 셀에서 계산할 내용이 달라져서 tableview를 계산할 수 없다는 것을 말해야합니다.

아이디어가 있으십니까?

+0

어떤 유형의 계산인지 알려주면 방법을 제안 할 수 있습니다. 그렇지 않으면 TableView가 일반적으로 셀을 다시 사용하도록 구성되므로 모든 셀을 가져 오는 것이 거의 불가능합니다. 즉, 셀을 셀 수만큼 생성하지 않습니다. 행. –

답변

3
그들은 근본적 프레젠테이션 층에 속하는 때문에, UITableViewCell 오브젝트의 내용에 기초하여 계산 을 수행해서는 안

; 프레젠테이션 계층에서 아무런 계산 작업도 수행해서는 안되며, 사물을 숨기고 표시 만하면됩니다.

계산을 위해서는 UITableViewDataSource이 데이터를 가져 오는 레이어로 직접 이동해야합니다 (아마도 모델 클래스가 될 것입니다). 그리고 계산을 수행해야합니다. 더 나아가 계산을 모델 레이어로 옮기고 필요시 가져 오기위한 방법을 제시하십시오.

다른 사람이 작성한 기존 코드를 수정하려면 UITableViewDataSource에있는 tableView:cellForRowAtIndexPath: 메서드를 검사하여 데이터를 가져 오는 위치부터 확인하십시오. 아마도 그 장소는 화면에 표시되는지 여부에 관계없이 모든 데이터를 사용할 수 있습니다.

관련 문제