从表视图推送到详细视图

Posted

技术标签:

【中文标题】从表视图推送到详细视图【英文标题】:Push from Table View to Detail View 【发布时间】:2012-05-08 05:06:34 【问题描述】:

我正在开发一个从 csv 文件导入数据并显示在表格视图中的应用程序。我在表格视图中显示数据没有问题,但之后我希望能够显示在详细视图中显示的每一行的数据。我已经实现了以下代码,但是在运行应用程序时,它似乎没有响应 push 方法。

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    CompanyDetailViewController *dvController = [[CompanyDetailViewController alloc] 
                                                 initWithNibName:@"ViewController" 
                                                 bundle: nil];

    [[self navigationController] pushViewController:dvController animated:YES];

    Company *p = (Company *)[self.importedRows objectAtIndex:indexPath.row];

    NSLog(@"You've selected %@ and the telephone number is %@ address %@", p.companyName, p.companyTelephone, p.companyAddress);

如您所见,我还创建了 NSLog 来检查应用程序是否正在读取块,并且它似乎在日志面板中正确打印了数据。

我希望有人可以帮助您考虑如何完成这项工作。

提前谢谢你。

【问题讨论】:

【参考方案1】:

仅尝试这行代码并检查它是否适合您。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

     str=[arrayName objectAtindex:indexpath.row];

      ViewController *viewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
      [self.navigationController pushViewController:viewController animated:YES];


在 .h 中全局分配 NSString *str 并在另一个视图中使用这个 str 拥有你想要的所有东西。

【讨论】:

我尝试了您的代码并将 str 创建为全局 NSString。也许这是一个非常菜鸟的问题,但 arrayName 应该做什么?我收到一个编译错误,因为它是一个未声明的标识符。 您的单元格中有一些东西,或者您在表格中传递了一些数组,该数组只有您在此处传递。 我的单元格中的内容是在 company.h 和 company.m 中创建的一些变量的内容。我提到了一个指针,但不确定它应该如何工作。公司 *p = (公司 *)[self.importedRows objectAtIndex:indexPath.row];这是一个非常新手的问题,但它真的会帮助我知道如何实现它。

以上是关于从表视图推送到详细视图的主要内容,如果未能解决你的问题,请参考以下文章

使用 Xcode Storyboard 从表格视图单元推送到详细视图

UISplitViewController 将详细视图推送到表/主视图

从模态视图内部推送到 iOS NavigationController

TableView 在 Swift 中推送到详细视图

将视图控制器从根推送到详细视图控制器 (SplitView)

将数据推送到表详细视图