objective-c将参数传递给视图

objective-c将参数传递给视图,objective-c,view,uiview,parameter-passing,Objective C,View,Uiview,Parameter Passing,我正在做一个研究应用,通过4个自定义按钮从一个内部视图转到另一个视图。 每个按钮都绑定一个url,该url作为参数传递给另一个视图的segue,如果存在一个显示给定url的webview。 一切正常,但有一个奇怪的错误: 第一次触摸第一个视图中的每个按钮时,会向另一个视图传递一个空值 其他时候,一切都很好 代码如下: ///this is the action linked to the buttons - (IBAction)go:(id)sender { [self performS

我正在做一个研究应用,通过4个自定义按钮从一个内部视图转到另一个视图。 每个按钮都绑定一个url,该url作为参数传递给另一个视图的segue,如果存在一个显示给定url的webview。 一切正常,但有一个奇怪的错误: 第一次触摸第一个视图中的每个按钮时,会向另一个视图传递一个空值 其他时候,一切都很好

代码如下:

///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];
    }
}

你知道为什么会发生这种情况吗?

你应该在调用
[self-PerformsgueWithIdentifier:][/code>之前设置
linkz

检查你是否在第二视图中创建了属性和合成了导航URL你不应该在调用
[self-PerformsgueWithIdentifier:][/code>之前设置
linkz
吗?马丁…谢谢你说得对@阿斯特拉布:不客气。我把它添加为一个答案,这样你可以通过点击答案左边的复选框来“接受”它。