【发布时间】: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