0

イントロビューから 4 つのカスタム ボタンを介して別のビューに移動する研究用のアプリを実行しています。各ボタンには、指定された URL を表示する Web ビューがある場合に、他のビューに移動するセグエにパラメーターとして渡される URL がバインドされます。すべてが機能していますが、奇妙なバグがあります。最初のビューの各ボタンに初めて触れると、null 値が他のビューに渡され、それ以外の場合はすべて正常に動作します...

これはコードです:

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

なぜこれが起こるのですか?

4

1 に答える 1

1

linkzを呼び出す前に設定する必要があります[self performSegueWithIdentifier:]

于 2012-09-27T09:02:32.203 に答える