2013-02-11 3 views
0

프로그램을 통해 어디에서든지 tableview 함수를 호출하는 방법이 있는지 알고 싶습니다. 내 말은이 함수를 다음과 같이 호출하고자 함을 의미합니다.iPhone SDK : 어디서든 tableview 함수를 호출하십시오.

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

어쨌든 자체 기능 또는 무엇인가를 사용하고 있습니까? 아니면 가능하다면 사용합니까? 감사.

+0

왜? 이 메서드는 테이블 뷰에 의해 테이블에 셀을 제공하기 위해서만 사용됩니다. 어디서나 이것을 호출하여 달성하고자하는 것은 무엇입니까? – rmaddy

+0

데이터를 다시로드하려고합니까? – Ares

+0

나는 테이블 뷰에 오류를 분석하려고하는데이 메서드에 중단 점을 넣을 때 앱을 실행할 때만 실행되지만 실행 중에는 그렇지 않은 것 같다.이 메서드를 호출하는 대안을 찾고있다. 메서드를 무효 함수와 같은 것으로 만들면 어쩌면 거기에서 분해 할 수 있습니다. – mrprogrammer

답변

2

가능합니다. 그냥 같이, 그것은에 NSIndexPath 개체를 전달 할 수 있어야합니다 :

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; 

휴대 객체 반환 cellForRowAtIndexPath하면, 당신은 같은 등의 속성에 액세스 할 수 있습니다

또한
cell.backgroundView.alpha = 0.0; 

, 사용자 정의있는 UITableViewCell를 사용하는 경우, 당신은 당신의 사용자 지정 셀 전화 캐스팅 유형에 따라 반환받을 수 있습니다

MyCustomCellClass *cell = (MyCustomCellClass *)[self.tableView cellForRowAtIndexPath:indexPath]; 
1

당신은 단지 [의 tableview reloadData] 호출 할 수 있습니다; 이것은 인덱스 경로에서 행에 대한 셀을 호출합니다.

1

귀하는이 방법으로 수행 할 수 있습니다

// First do modifications in the datasource for table  
    // And then you can reload the specific row like this: 

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; 

[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; 

을 그리고 당신의 cellForRowAtIndexPath 당신이 대리자를 설정하지 않았거나 눈에 보이는 행이 테이블로 표시 할 수있는 UI에 없기 때문에 할 수 호출되지 않는 이유는이를 호출 기능이 화면에 표시되는 행에 표시되므로 테이블의 프레임도 확인하십시오.