如何从DetailViewController中的选定单元格获取cell.textLabel.text?

时间:2010-02-22 16:31:07

标签: ios iphone tableview viewcontroller

我有一个带有几个部分的UITableView,这些部分分为几个部分。如果我单击其中一个单元格,则会访问DetailViewController。在那个DetailViewController中,我想使用所选单元格中的数据(cell.textLabel和cell.detailTextLabel),但我无法访问这些数据。 是否有可能解决问题,以便我可以使用DetailViewController从所选单元格访问textLabels?

2 个答案:

答案 0 :(得分: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];
}

答案 1 :(得分: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
}

而不是孩子从父母那里读书,让父母直接向其孩子提供信息更为清晰。