2010-02-22 41 views
0

我有一個UITableView與幾個entrys,這些分爲幾個部分。如果我點擊其中一個單元格,就可以訪問DetailViewController。在那個DetailViewController中,我想使用選定單元格(cell.textLabel和cell.detailTextLabel)中的數據,但我無法訪問這些數據。 是否有解決問題的可能性,以便我可以使用DetailViewController從選定單元格訪問textLabels?如何從DetailViewController中的選定單元格獲取cell.textLabel.text?

回答

2

一種方法是爲DetailViewController添加兩個文本值的屬性。然後,在didSelectRowAtIndexPath方法,做這樣的事情:

- (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 2010-02-23 14:53:14

0

初始化DetailViewController與單元格內容。

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

而不是孩子從它的父母閱讀,它更清潔,讓父母直接提供信息給它的孩子。

相關問題