2011-12-28 99 views
0

我必须从一个屏幕导航到另一个单击tableview单元格,再加上我希望我的单元格上的数据在我的第二个view.i上的相应标签上传输使用一个赛格。谢谢无法执行segue

回答

1

你有VC1,其中有一个UITableViewVC2。当点击一个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视频“故事板介绍”中有很好的描述。

这是一个很大的概念信息吸收,但一旦你理解了UITableView datasource & delegate协议UINavigationController塞格斯那么复杂的用户界面变得容易实现。快乐的2天击中苹果文档和WWDC视频将​​会揭开面纱!

+0

非常感谢!!!!!!!!!真.... – newstar7867 2011-12-29 06:49:18