Установка изображения в NSImageView - PullRequest
4 голосов
/ 23 июля 2011

У меня проблема с моей программой.В основном то, что я хочу, у меня есть 2 nssecuretextfield, и у меня есть кнопка.если оба равны, он показывает одно изображение в nsimageview, если нет, он отображает другое изображение.Это может быть очень легко, но я новичок в программировании на Mac,

.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 изображение, даже если это правильно или неправильно.

1 Ответ

4 голосов
/ 23 июля 2011

Вы не можете сравнивать содержимое строк с помощью == или !=. При этом сравниваются значения указателя (т. Е. Адрес, где находится строковый объект).

Использование

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

вместо этого.

Еще один не связанный совет: никогда не начинайте имя метода с заглавной буквы. Это против конвенции Какао. Вместо этого используйте verificarPass.

...