【问题标题】:objective-c passing parameters to a viewObjective-c 将参数传递给视图
【发布时间】:2012-09-27 08:19:00
【问题描述】:

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

这是代码:

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

任何想法为什么会发生这种情况?

【问题讨论】:

  • 检查你是否在 SecondView 中创建了属性并合成了 NavigationUrl
  • 你不应该设置linkz 之前调用[self performSegueWithIdentifier:]吗?
  • 马丁...谢谢你是对的!
  • @astlab:不客气。我已将其添加为答案,以便您可以通过单击答案左侧的复选标记轮廓来“接受”它。

标签: objective-c view uiview parameter-passing


【解决方案1】:

你应该在调用[self performSegueWithIdentifier:]之前设置linkz

【讨论】:

    猜你喜欢
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 2011-10-07
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多