无法执行segue

时间:2011-12-28 13:26:21

标签: iphone ios xcode4 uistoryboard

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您有 VC1 ,其中包含UITableView VC2 。当点击VC1 UITableViewCell时,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视频中很好地描述了,#34;故事板简介"。

一旦你理解了UITableView datasource& delegate协议UINavigationController segues 然后,复杂的用户界面变得简单易用。一个快乐的2天击中Apple文档和WWDC视频将​​揭开面纱!