2010-02-22 4 views
0

몇 가지 항목이있는 UITableView가 있으며 여러 섹션으로 나누어 져 있습니다. 셀 중 하나를 클릭하면 DetailViewController가 액세스됩니다. 해당 DetailViewController에서 선택한 셀 (cell.textLabel 및 cell.detailTextLabel)의 데이터를 사용하고 싶지만이 데이터에 액세스 할 수 없습니다. DetailViewController를 사용하여 선택한 셀에서 textLabels에 액세스 할 수 있도록 문제를 해결할 수 있습니까?DetailViewController에서 선택한 셀에서 cell.textLabel.text를 가져 오는 방법은 무엇입니까?

답변

2

두 가지 텍스트 값에 대해 DetailViewController에 속성을 추가하는 것도 한 가지 방법입니다.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 

    //create your DetailViewController here 
    UIViewController *detailViewController = ... 

    //set the properties...   
    detailViewController.cellText = cell.textLabel.text; 
    detailViewController.cellDetailText = cell.detailTextLabel.text; 

    //push the detailViewController here 

    [detailViewController release]; 
} 
+0

감사합니다. – iYassin

0

셀의 내용으로 DetailViewController를 초기화 : 다음 didSelectRowAtIndexPath에서, 같은 것을 할.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; 
    DetailViewController *detailViewController = [[[DetailViewController alloc] initWithText:cell.textLabel.text] autorelease]; 
    // push 
} 

부모가 아이를 읽는 대신, 부모가 직접 아이에게 정보를 제공하는 것이 훨씬 깔끔합니다.

관련 문제