如何使用Segue将数据从一个屏幕传递到另一个屏幕

时间:2012-01-02 02:54:42

标签: iphone

我有2个视图A和B.视图A包含一个包含2行的1个部分的表。每行都有自己的图片....我的任务是当你点击第一行时,如何在视图B中显示第1行的图片。如果单击第2行,视图B将显示第2行的图片。请显示使用seque将数据从一个视图传递到另一个视图的方法。

2 个答案:

答案 0 :(得分:2)

假设您有两个视图的控制器ViewControllerA和ViewControllerB,并假设您已在storyboard中使用标识符创建视图之间的segue

ViewControllerA应该实现此方法

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if (segue.identifier.length > 0)
    {        
        if ([segue.identifier isEqualToString:@"your_identifier_name"])
        {
            ViewControllerB *viewControllerB = (ViewControllerB *)segue.destinationViewController;
            //And you can pass data between the two controller.  
            viewControllerB.currentRow = self.selectedRow; 
        }
    }
}

答案 1 :(得分:1)

jajo87的回答是有效的,但是如果你问,你还没有完全掌握MVC的设计。两个ViewControllers都应该从单个模型中提取图像(NSObject的自定义子类在您使用command-N创建的文件中)。该模型应具有表示您选择的图像的属性。两个ViewControllers都可以指向模型;在实例化ViewController B时传递它们。

相关问题