objective-c将参数传递给视图

时间:2012-09-27 08:19:01

标签: objective-c view uiview parameter-passing

我正在做一个用于学习的应用程序,从一个简介通过4个自定义按钮转到另一个视图。 如果有一个显示给定网址的网页视图,则每个按钮都会绑定一个网址,该网址作为参数转移到另一个视图的segue。 一切正常,但有一个奇怪的错误: 我第一次触摸第一个视图中的每个按钮时,空值被传递给另一个视图 所有其他时间,每件事都很好......

这是代码:

///this is the action linked to the buttons
- (IBAction)go:(id)sender
{
    [self performSegueWithIdentifier:@"MySegue" sender:sender];

    if (sender==btnImg1){
        linkz = linkUrl1;
    }else if (sender==btnImg2){
        linkz = linkUrl2;
    }else if (sender==btnImg3){
        linkz = linkUrl3;
    }else if (sender==btnImg4){
        linkz = linkUrl4;
    }
      NSLog(@"msg: %@", linkz);
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"MySegue"]) {
        // Get the destination view
        SecondView *og = [segue destinationViewController];
        // Set the selected vaue in the new view
        [og setNavigationUrl:linkz];
    }
}

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

您应该在致电linkz之前设置[self performSegueWithIdentifier:]