我有一个带有几个部分的UITableView,这些部分分为几个部分。如果我单击其中一个单元格,则会访问DetailViewController。在那个DetailViewController中,我想使用所选单元格中的数据(cell.textLabel和cell.detailTextLabel),但我无法访问这些数据。 是否有可能解决问题,以便我可以使用DetailViewController从所选单元格访问textLabels?
答案 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
}
而不是孩子从父母那里读书,让父母直接向其孩子提供信息更为清晰。