使用shouldPerformSegueWithIdentifier在控制器之间传递参数

时间:2015-02-10 10:59:18

标签: ios parameter-passing segue

我试图执行shouldPerformSegueWithIdentifier并在控制器之间传递一些参数。

- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {

    if ([identifier isEqualToString:@"myid" ]) {
        return NO;

    }

    mydestviewcontroller* my = [segue destinationviewcontroller];
    my.stringtopass= data;



    return YES;


}
}

我在[segue destinationviewcontroller]的segue上收到错误 相反,如果我使用准备segue它没有显示。 我需要在segue发生之前执行一些检查,如果发生这种情况,我需要将参数传递给目标控制器。帮帮我的人!!

2 个答案:

答案 0 :(得分:2)

在控制器之间传递一些参数使用prepareForSegue

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if([segue.identifer isEqualToString:"myId"]) {
        mydestviewcontroller* my = [segue destinationViewController];
        my.stringtopass= data;

}

答案 1 :(得分:1)

shouldPerformSegueWithIdentifier内执行检查,然后在prepareForSegue内传递数据。只有在prepareForSegue中返回YES时才会执行shouldPerformSegueWithIdentifier