2011-02-24 3 views

답변

4

UITableView를 가리키는 인스턴스 변수를 추가하고 셀을 생성/구성 할 때 설정할 수 있습니다 (예 : tableView : cellForRowAtIndexPath :). 귀하의 셀이 tableView를 유지하지 않는지 확인하십시오. 셀의있는 tableView는, [parentTableView 수퍼]를 jQuery과의 상위 뷰에 액세스하는 전화를 알고 :있는 UITableViewController 구현에서는

@interface PropertyListingCell : UITableViewCell { 
    __weak id parentTableView; 
} 

- (void) setParentTableView:(UITableView*)tv; // parentTableView = tv; 

을 :

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

    //dequeue/create and configure your custom cell here 

    [cell setParentTableView:tableView]; 
    return cell; 
} 

UPDATE :

것은 당신이 최근에 사용하는 경우 간단하게 추가 할 수있는 Xcode (최소 4.3)

@property (weak) UITableView *parentTableView; // use unsafe_unretained instead of weak if you're targeting iOS 4.x 
귀하의 UITableViewCell의 하위 클래스의 섹션을 @interface 섹션에

섹션. 그런 다음 (tableView:cellForRowAtIndexPath:에서) 셀을 만들 때이 등록 정보를 설정합니다

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    // ... 
    //dequeue/create and configure your custom cell here 
    // ... 
    cell.parentTableView = tableView; 
    return cell; 
} 

그리고 휴대 클래스 호출 self.parentTableView

은이 셀이 속한있는 tableView에 액세스 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다하지만 어디로 가는지 설명해 줄 수 있습니다 --------- @interface PropertyListingCell : UITableViewCell { __weak id parentTableView; } - (void) setParentTableView : (UITableView *) tv; // parentTableView = tv; – user591375

+0

상단 블록의 코드는 맞춤 UITableViewCell 헤더 파일 (예 : MyTableViewCell.h)에 추가해야하는 항목을 보여줍니다. '(id) parentTableView;'는 기본적으로 사용자 정의 테이블 셀 구현에서 tableView에 대한 포인터입니다. 'setParentTableView'는 포인터를 테이블 뷰로 설정하는 메서드입니다.이 테이블을 사용자 정의 테이블 셀 구현 (예 : MyTableViewCell.m)에 추가해야합니다. 이제 UITableViewController 하위 클래스에서 사용자 정의 셀의 인스턴스를 만들 때 셀의'setParentTableView' 메소드를 호출하고이 셀이 속한 UITableView에 포인터를 설정합니다. – kervich

관련 문제