0

我必须通过单击 tableview 单元格从一个屏幕导航到另一个屏幕,而且我希望将单元格上的数据传输到第二个视图上的相应标签上。我已经使用 segue 连接了两个视图。我该怎么做?谢谢

4

2 回答 2

1

在进入项目开发之前,您确实需要学习 Objective-C。这是苹果书的链接:http: //developer.apple.com/library/mac/documentation/cocoa/conceptual/objectivec/objc.pdf

于 2011-12-28T13:29:54.510 回答
1

你有VC1,它有一个UITableView, 和VC2。当UITableViewCell点击 VC1 时,会显示 VC2 以及来自单元格的信息。示意地,在 VC1 中你实现:

#pragma mark - Table view delegate for VC1
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    dataForVC2 = [vc1DataSource objectAtIndex:indexPath.row];
    [self performSegueWithIdentifier:segueFromVC1ToVC2 sender:self];
}

#pragma mark - View lifecycle
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:segueFromVC1ToVC2]) {
        vc2 = (VC2ViewController *)[segue destinationViewController];
        vc2.delegate = (id)self;
        vc2.whatIWantFromVC1 = dataForVC2;
    }
}

#pragma mark - VC2 delegate
- (void)VC2ControllerDidFinish:(VC2ViewController *)controller
{
    dataBackFromVC2 = controller.propertyForVC1;
}

这就是你管理segue的方式。您还需要为 VC2 实现一个委托协议,这在 WWDC 2011 Apple 视频“故事板简介”中有很好的描述。

这是需要吸收的大量概念信息,但是一旦您理解了UITableView datasource& delegateprotocolsUINavigationControllersegues ,那么复杂的 UI 就会变得很容易实现。愉快地访问 Apple 文档和 WWDC 视频的 2 天将揭开面纱!

于 2011-12-28T15:57:23.817 回答