-2

次のようなコードがあります。

-(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 変数を作成する必要がありますか、それとも他の方法がありますか?

4

2 に答える 2