2010-02-22 40 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 
} 

而不是孩子从它的父母阅读,它更清洁,让父母直接提供信息给它的孩子。

相关问题