从表视图推送到详细视图
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