2012-02-08 15 views
0
if (menuPlayed == TRUE && [sender tag == 0]) { 
    NSLog(@"You're pressing the right button at the right time"); 
} 

"期待"を返すのはどういう考えですか? ""エラー?期待通りの場合]

if ((menuPlayed == TRUE) && ([sender tag] == 0)) 

そして、あなたはおそらく送信者を型キャストする必要があります、

if ((menuPlayed == TRUE) && ([(UIButton *)sender tag] == 0)) 

ofcourseのあなたはshouldnのようなもの:私はそれらの比較:(

答えて

0

変更にあなたのコードで何が間違って絶対にないアイデアを持っていません型変換には(UIButton *)を使用してください。 送信者オブジェクトの正しいクラスを使用するか、祖先クラスの を1つ使用してください。 このオブジェクト階層のUIViewに「タグ」が追加されています。

+0

余分なカッコはなぜですか? –

+0

清潔さ、このスタイルも好きです。 –

+0

読みやすくするためです。コンパイルされたコードは同じですが、if節がより複雑になると、余分なカッコを使用しないと何かが見逃されることがあります –

3

変更:

if (menuPlayed == TRUE && [sender tag == 0]) 

に:

if (menuPlayed == TRUE && [sender tag] == 0) 

また、あなたがそのようなmenuPlayed == TRUEとして式を書くことはありませんのでご注意 - 必ずこれを書いているだけでmenuPlayed、すなわちこの特定のケースでは:

if (menuPlayed && [sender tag] == 0) 

@rokjarcさんの回答に記載されているように、あなたはこれらは実際には必要ではありませんが、わかりやすくするためにカッコを付け加えてください:

if (menuPlayed && ([sender tag] == 0)) 
関連する問題