Mögliche Duplizieren:
Why is my comparing if statement not working?String Vergleich in if() folgt falschen Zweig
ich, ob eine bestimmte Einstellung zu überprüfen bin versucht, um zu sehen, wurde auf "Ein" oder „Aus ". Hier ist mein Code:
BOOL switchOn;
if ([self loadSettings:@"useLocation"] == @"On"){
switchOn = YES;
NSLog(@"Use Location (Yes): %@",[self loadSettings:@"useLocation"]);
}else{
switchOn = NO;
NSLog(@"Use Location (No): %@",[self loadSettings:@"useLocation"]);
}
NSLog(@"Switch On: %@",switchOn ? @"YES":@"NO");
Gedruckt in das Protokoll ist:
Verwendeten Ort (No): Auf
Switch On: NEIN
Sie können sehen, dass für Wenn "Standort verwenden (Nein)" angezeigt wird, sollte die Funktion nicht "Ein" zurückgegeben haben. Aber es gab "On" zurück. Vergleiche ich sie nicht richtig?
Hier ist mein Code die Standardeinstellungen für das Laden:
- (NSString *)loadSettings: (NSString *)key{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults synchronize]; // this method is optional
// Get the results out
NSString *results = [defaults stringForKey:key];
return results;
}
Ich bin ein NSString
Rückkehr, also bin ich wirklich nicht sicher, was das Problem ist. Ich bekomme überhaupt keine Fehler in der Build-Umgebung vor oder nach dem Kompilieren.
möglich Duplikat: [Wie kann ich Strings in Ziel c vergleichen] (http://stackoverflow.com/q/1302985/1048330) – tenorsax
Ziemlich viel ist ein Duplikat , aber meine Suche hat das nicht gebracht. – James