2012-01-29 8 views
1

にラベルを付けるために押されたボタンを比較私はボタンをタッチかどうかを確認するために、単純な機能を持っているが、ラベルのテキストと同じである:iOS版:テキスト

「乱数」はラベルである
- (IBAction) checkIt:(id)sender{ 
    UIButton *button = (UIButton *)sender; 

    if(button.getText() == randomNumber.text){ 
     randomNumber.text = @"Nice."; 
    } 
    else{ 
     randomNumber.text = @"Try Again"; 
    } 
} 

。ただし、これは機能しません。私はCocoa/Objective-Cの初心者です。正しい構文が何であるか分かりません。

私のような馬鹿に役立つと思っている/あなたが望む追加情報はありません。 :)

この機能には、牛、豚、蛙、羊の4つのボタンが割り当てられています。 「乱数」のラベルが、これは文字列を比較するための正しい方法ではないので、これは動作しません

答えて

1
if(button.getText() == randomNumber.text) 

...文字列「牛、カエル」の配列からランダム化されます。 '=='はメモリアドレスを比較するだけで、NSStringメソッドisEqualToStringは実際に文字列を比較します。

また、titleLabel.textというプロパティを使用してボタンテキストを取得します。だから、私はこのようにしよう:

- (IBAction) checkIt:(id)sender{ 
    UIButton *button = (UIButton *)sender; 

    if([button.titleLabel.text isEqualToString:randomNumber.text]){ 
     randomNumber.text = @"Nice."; 
    } 
    else{ 
     randomNumber.text = @"Try Again"; 
    } 
} 
+0

スーパー。どうして私たちはいつも 'if ... [...]'というだけでなく、if(...)だけではないのですか? –

+0

これは、比較のために()内で何をしているかによって異なります。この場合、私たちはobjective-Cメソッドを使用しているので、それを行わなければなりません。単純な整数xとyを比較していたら、if(x = y)のようになります。 – sosborn

+0

ところで、あなたのウェブサイトのサーバーの設定を確認したいかもしれません:) – sosborn

関連する問題