1. ホーム
  2. アイオス

[解決済み】prepareForSegueメソッドでセグエを防止する?

2022-04-05 06:59:25

質問

でセグエをキャンセルすることは可能ですか? prepareForSegue: メソッドを使用できますか?

セグエの前に何らかのチェックを行い、その条件が真でない場合(この場合、もし何らかの UITextField が空である場合)、セグエを実行する代わりにエラーメッセージを表示します。

どのように解決するのですか?

iOS 6以降で可能です。 メソッドを実装する必要があります。

- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender 

ビューコントローラーに そこで検証を行い、問題がなければ return YES; でない場合は return NO; となり、prepareForSegueは呼び出されません。

このメソッドは、プログラムでセグを起動するときには自動的に呼び出されないことに注意してください。チェックを行う必要がある場合は、shouldPerformSegueWithIdentifierを呼び出してセグエを実行するかどうかを決定する必要があります。