Ios 使用performsgue将数据传递到目标视图控制器

Ios 使用performsgue将数据传递到目标视图控制器,ios,segue,uistoryboardsegue,xcode-storyboard,Ios,Segue,Uistoryboardsegue,Xcode Storyboard,因此我知道,如果有一个序列是通过故事板设置和激活的,可以使用prepareforsgue方法将数据传递给目标视图控制器 我想知道如果使用performsguewithidentifier方法,是否有办法做到这一点?似乎只有当segue是通过脚本激活的,而不是通过performsgue激活的,才会调用prepareforsgue方法 一个特别的问题是我无法访问UIStoryboardSegue(它不是performSegue中的参数,因为它在prepareForSegue中),因此也无法访问目标V

因此我知道,如果有一个序列是通过故事板设置和激活的,可以使用
prepareforsgue
方法将数据传递给目标视图控制器

我想知道如果使用
performsguewithidentifier
方法,是否有办法做到这一点?似乎只有当segue是通过脚本激活的,而不是通过performsgue激活的,才会调用
prepareforsgue
方法


一个特别的问题是我无法访问
UIStoryboardSegue
(它不是
performSegue
中的参数,因为它在
prepareForSegue
中),因此也无法访问目标VC。

答案在StackOverflow中。


您的问题似乎不正确-在您调用
performsguewithidentifier:sender:
后,视图控制器将收到
prepareForSegue:sender:
消息。
UIStoryboardSegue
对象将有一个属性
destinationViewController
,因此您可以获取对目标视图控制器的引用。可能重复@robotcat ok,是的,您是正确的,它正在调用
prepareforsgue:sender:
我做的测试不正确,我的错。有办法删除问题吗?因为这个问题无关紧要now@user3809369:回答完成后,无法删除问题
// When any of buttons are pressed, push the next view
- (IBAction)buttonPressed:(id)sender
{
    [self performSegueWithIdentifier:@"MySegue" sender:sender];
}

// This will get called too before the view appears
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"MySegue"]) {

        // Get destination view
        SecondView *vc = [segue destinationViewController];

        // Get button tag number (or do whatever you need to do here, based on your object
        NSInteger tagIndex = [(UIButton *)sender tag];

        // Pass the information to your destination view
        [vc setSelectedButton:tagIndex];
    }
}