【问题标题】:How to get the cell.textLabel.text from the selected cell in DetailViewController?如何从 DetailViewController 中的选定单元格中获取 cell.textLabel.text?
【发布时间】:2010-02-22 16:31:06
【问题描述】:

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

【问题讨论】:

    标签: ios iphone tableview viewcontroller


    【解决方案1】:

    一种方法是为 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];
    }
    

    【讨论】:

      【解决方案2】:

      用单元格内容初始化DetailViewController

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

      与其让孩子从其父母那里阅读,不如让父母直接向其孩子提供信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多