Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Problem bei Vergleich zweier Variablen unter Cocoa!

Problem bei Vergleich zweier Variablen unter Cocoa!

eMac Extreme15.03.1022:47
Hallo Zusammen,

hab mich heute das erste Mal mit Xcode und Cocoa beschäftigt. Mein Ziel war es ein Programm zu erstellen, welches vier Textfelder mit "zufällig" gewählten Zahlen füllt, welche man im Kopf zusammenrechnet und anschließend das Ergebnis zur Überprüfung in ein anderes Feld eingibt. Sprich vereinfacht ein Trainer fürs Kopfrechnen!

Hab soweit alles mit Xcode erstellen können. Die Felder werden auf Tastendruck gefüllt und man kann sein Ergebnis in ein Feld eingeben. Anschließend soll die Eingabe mit dem richtigen Ergebnis verglichen werden.

Leider hakt es beim Vergleich der beiden Werte! Die if-Bedingung funktioniert so nciht mit den beiden Variablen, die ich vorher definiert habe. Weiß jemand ne Lösung?
#import "checkResult.h"

@implementation checkResult
- (IBAction)calculateAnswer:(id)sender {
    int num1, num2, num3, num4, answer, result;
    
    num1 = [numberField1 intValue];
    num2 = [numberField2 intValue];
    num3 = [numberField3 intValue];
    num4 = [numberField4 intValue];
    answer = [answerField intValue];
    result = num1 + num2 - num3 + num4;
    
    if ([answer isEqual:result]) {
        [resultField setStringValue:@"Richtig"];
    }
    else {
        [resultField setStringValue:@"Falsch"];
    }

    
}
@end
0

Kommentare

exAgrajag15.03.1022:54
Du willst zwei int-Werte vergleichen. Du wendest aber die Methode isEqual auf das Nicht-Objekt answer (Typ int) an. Auf Primitives kann man keine Methoden anwenden. Versuch es mal mit if (answer == result)
0
eMac Extreme15.03.1022:59
exAgrajag
Vielen Dank!!! Hatte es zuvor zwar auch schon mit == probiert, jedoch waren die Klammern diesmal das Problem! Hatte innerhalb der runden Klammern noch Eckige verwendet

Jetzt kann es mit dem Gehirnjogging losgehen
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.