如何将值从TableView传递给Detail View Controller?

时间:2011-09-02 16:52:52

标签: iphone objective-c

如何将值从TableView传递给Detail View Controller?有人可以帮我吗?

3 个答案:

答案 0 :(得分:0)

tableView委托会在收到tableView中的行被选中的消息时执行此操作。

答案 1 :(得分:0)

我正在尝试探索Flyingdiver的答案。

  1. 在数组中填充数据,然后从该数组加载表。确保数组是一个类级别对象(在类级别可访问,直到包含表视图的类为生命)。

  2. 当您点击表格时,tableViewDelegate将调用didSelectRowAtIndexPath方法。 在那里你将获得被点击的单元格的indexPath(包括Row和Section)。将这些索引路径映射到数据数组。

  3. 现在详细视图控制器获取具有合适数据类型的属性数据。

  4. 在didSelectRowAtindexpath中分配详细信息对象View Controller在属性中分配数据并将其推送或呈现在表中。 - >数据可以是一个简单的密钥,您可以根据该密钥从db或INTERNET获取数据,或者它可以是包含详细数据的数据结构。

  5. 希望以上有帮助.....

答案 2 :(得分:0)

假设您要选择一行将您推送到DetailViewController,请尝试以下操作:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; {
  DetailViewController * detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
  // Set up any of the properties of your DetailViewController here. This is where the indexPath
  // comes in handy, as you can look up your array that you used to fill in your cells!
  [self.navigationController pushViewController:detailViewController animated:animated];
  [DetailViewController release];
}

希望有帮助!