2011-03-01 7 views
2

나는 UIView가 있습니다. 그것은 두 개의 UIScrollView를 포함하고, 모든 UIScrollView는 하나의 UITableView를 포함합니다.하나의 UIViewController에서 두 개의 UITableViews

데이터로 표를 채울 때 첫 번째 표는 데이터로 채워지지만 두 번째 표는 비어 있습니다.

무엇이 잘못 될 수 있습니까?

디버깅 후 나는

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

가 첫 번째 테이블 만 호출 된 것을 보았다. 그러나

(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 

은 모든 테이블에 대해 호출되었습니다 !!! -> 델리게이트 또는 데이터 소스에도 문제 없음 ...

도와주세요.

나는 논리를 사용하고 있습니다 :

if(tableView == self.tableU1){ 
    ... 
    } 
else{ 
... 
} 

을 테이블을 구분합니다.

+0

같은 일이 생겼습니다. 잠시 후에 두 번째 테이블에서 "reloadData"를 호출하는 것을 잊었습니다. –

답변

0

두 테이블 모두에 대해 위임자를 설정해야합니다. 그리고 그것은 당신의 컨트롤러 여야합니다.

tableView.delegate = self; 
0

다른 답변이 암시했지만, 그 cellForRowAtIndexPath주의 : 당신이 인터페이스 빌더를 사용하는 경우 대리자를 수동으로 실시를 설정하려고 대표 방법 : viewForHeaderInSection는 동안, 데이터 소스 방법이다. 당신이 당신의 델리게이트를 양쪽 모두에 연결했음을 거의 확실하게 알 수 있습니다.

+0

당신도 맞습니다. IB 데이터 소스가 설정됩니다. 그리고 프로그래밍 방식으로 나는 어떤 데이터 소스도 연결하지 않았다. viewDidLoad에서 다음과 같이 두 번째 테이블 datasourde를 설정합니다. [[self tableU2] setDataSource : self]; 맞습니까? – user639483

+0

IB에서 설정 한 것 또는 프로그래밍 방식으로 설정된 것 중 어느 것이 작동하지 않습니까? 또한 tableU2가 IBOutlet이고 테이블 자체에 연결되어 있는지 확인하십시오. 그렇지 않으면 [self tableU2]는 nil을 반환하고 데이터 소스는 설정되지 않습니다. – GendoIkari

관련 문제