1

私はカスタムSegueを行っStoryboardており、このコードを含むボタンがあります:

 [self performSegueWithIdentifier:@"line3" sender:sender];

ボタンをクリックするとうまくいきます。このコードがvoid関数内ではなくボタン関数内でのみ機能するという問題に直面しています。ボタンをクリックしてみましたが、うまくいきました。void 関数内に貼り付けると、送信者について不平を言うエラーが表示されます。void に変更しようとしましたが、何も起こりません。この問題を解決するための洞察を教えてください。をチェックしてUserDefaultいますが、探しているものと一致するので、次のコードを実行したいと思います。[self performSegueWithIdentifier:@"line3" sender:sender];

-(IBAction)LoginAttemp:(id)sender{
    [self performSegueWithIdentifier:@"line3" sender:sender];
}



-(void) LoginFailed{
    [self performSegueWithIdentifier:@"line3" sender:sender];
}

私が得るエラー:

宣言されていない識別子「送信者」の使用

洞察はありますか?

4

2 に答える 2

8

変化する

[self performSegueWithIdentifier:@"line3" sender:sender];

[self performSegueWithIdentifier:@"line3" sender:Nil];

送信者は次のとおりです。

セグエを開始するために使用するオブジェクト。このオブジェクトは、実際のセグエ中に情報を提供する目的で使用できます。

于 2012-05-01T01:17:04.530 に答える
1

void問題ではありません。問題は、それsenderが予約語ではないことです。これは、次のパラメーターの 1 つですIBAction

-(IBAction)LoginAttemp:(id)sender{

見る?終わりにそこに。それはObjective-Cに相当しますIBAction LoginAttemp(id sender)

送信者がいない場合は、nilまたはを渡すことができますself。を使用selfすることをお勧めします。

-(void) LoginFailed{

    [self performSegueWithIdentifier:@"line3" sender:self];
}
于 2012-05-01T01:20:07.787 に答える