0

「.h」ファイルで BOOL を宣言し、「.m」で FALSE に初期化し、非常に特定の条件下で TRUE に設定しましたが、それ以降は TRUE になると予想されます。

ただし、BOOL値はフレームごとに FALSE の初期値にリセットされ続けます。BOOL更新ごとに値の出力を出力すると、次のようになります。

FALSE
FALSE
FALSE
//Condition gets true
TRUE
FALSE
TRUE
FALSE
TRUE
FALSE

コード全体で BOOL を他の場所に設定していません。

私はObjective-Cに少し慣れていないので、助けてください。これは、変数の定義方法と何か関係がありますか?

4

2 に答える 2

0

BOOLに値を割り当てるすべての行にブレークポイントを設定します。何かがそれをNOに戻しています。その背後に魔法はなく、コーディングのバグだけです。

于 2012-12-16T19:12:07.760 に答える
0

FALSE ステートメントが「タイマー」または繰り返し呼び出される関数で呼び出されているようです。あなたの本当の声明についても同じです。通話が繰り返されていないことを確認するか、別の場所に置いてみてください。

于 2012-12-16T21:40:23.153 に答える