次のようなコードがあります。
-(IBAction)send {
if ([self isCorrect1] && [self isCorrect2] && ...) {
[self sendRequest];
}
}
-(BOOL)isCorrect1 {
...
}
-(BOOL)isCorrect2 {
...
}
すべてのisCorrect
メソッドは、ビューにメッセージを表示し、チェックの結果を返す条件をチェックしています。最初の条件が false の場合、最初のメソッドのエラー メッセージのみが表示され (すべてをチェックする必要があります)、これらのメソッド内でブレークポイントがトリガーされないことに気付きました。ある種の LLVM 最適化だと思ったので、次のようなコードを作成しました。
-(IBAction)send {
BOOL correct = [self isCorrect1];
correct = correct && [self isCorrect2];
...
if (correct) {
[self sendRequest];
}
}
そして、まだ正しく機能していません。チェックの結果を保存するために新しい BOOL 変数を作成する必要がありますか、それとも他の方法がありますか?