2011-07-23 13 views
4

私のプログラムに問題があります。基本的に私が欲しいのは、2つのnssecuretextfieldがあり、ボタンがあります。両方が等しい場合は、nsimageviewに1つのイメージを表示し、そうでない場合は他のイメージを表示します。 、これは非常に簡単かもしれないが、私は、Macのプログラミングに新しいですNSImageViewに画像を設定する

.hファイル:

IBOutlet NSSecureTextField *textField; 
IBOutlet NSSecureTextField *textField2; 
IBOutlet NSImageView *imagem; 
} 

- (IBAction)Verificarpass:(id)sender; 

.mファイル:

- (IBAction)Verificarpass:(id)sender; 
{ 
    NSString *senha1 = [textField stringValue]; 
    NSString *senha2 = [textField2 stringValue]; 
    NSImage *certo; 
    NSImage *errado; 
    certo = [NSImage imageNamed:@"Status_Accepted.png"]; 
    errado = [NSImage imageNamed:@"Error.png"]; 

    if (senha1 == senha2) { 
    [imagem setImage:certo]; 
    } 
    if (senha1 != senha2) { 
     [imagem setImage:errado]; 
    } 
} 

は誰も私を助けてくださいことができますか? 私は試してみましたが、たとえそれが正しいか間違っていても、1つの画像しか表示しません。

答えて

4

==または!=で文字列の内容を比較することはできません。すなわち、ポインタ値(文字列オブジェクトが住んすなわちアドレス)

if ([senha1 isEqualToString:senha2]) { 
    [imagem setImage:certo]; 
}else{ 
    [imagem setImage:errado]; 
} 

代わり

使用を比較します。

関連のない別のアドバイス:大文字でメソッド名を開始しないでください。それはココア大会に反対している。代わりにverificarPassを使用してください。

関連する問題