无法执行转场
Posted
技术标签:
【中文标题】无法执行转场【英文标题】:Unable to perform segue 【发布时间】:2011-12-28 13:26:21 【问题描述】:我必须通过单击 tableview 单元格从一个屏幕导航到另一个屏幕,而且我希望将单元格上的数据传输到第二个视图的相应标签上。我已经使用 segue 连接了两个视图。我该怎么做?谢谢
【问题讨论】:
【参考方案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;
这就是您管理转场的方式。您还需要为 VC2 实现一个委托协议,这在 WWDC 2011 Apple 视频“故事板简介”中有很好的描述。
要吸收很多概念性信息,但是一旦您了解了 UITableView datasource
和 delegate
、协议、UINavigationController
和 segues,就会变得复杂UI 变得易于实现。访问 Apple 文档和 WWDC 视频的愉快 2 天将揭开面纱!
【讨论】:
【参考方案2】:在开始项目开发之前,您确实需要学习 Objective-C。 这是苹果书的链接: http://developer.apple.com/library/mac/documentation/cocoa/conceptual/objectivec/objc.pdf
【讨论】:
问题错了吗???我只需要知道你是怎么做到的以上是关于无法执行转场的主要内容,如果未能解决你的问题,请参考以下文章