2010-11-20 17 views
0

ich nicht diese Codezeile verstehen: if ([@ "+/-" isEqual: Betrieb])NSString Frage in Objective

wo Operation eine NSString (und dass der Betrieb kann entweder ein „sein + "a" - "oder a"/"). Wie ist es möglich, alle auf einmal zu überprüfen, ohne einen Fehler zu bekommen?

Danke, -z

Antwort

0

Es macht nichts, ich habe einen Knopf fehlt, die dieser Zeichenfolge entspricht, ignorieren Sie

0

nicht. isEqual vergleicht eine Zeichenfolge mit einem Objekt und gibt NO zurück, wenn das Objekt keine Zeichenfolge ist. Wenn Sie Zeichenfolgen vergleichen möchten, verwenden Sie isEqualToString. Aber das wird "+/-" mit der Operation vergleichen. Um zu sehen, wenn der Betrieb ein von + ist, - oder/Sie würden jedes Zeichen wiederum überprüfen oder einen regulären Ausdruck verwenden, oder so etwas wie dieser

NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"+-/"]]; 

if ([operatin rangeOfCharacterFromSet:set].location != NSNotFound) { 
    NSLog(@"This string does not contain +-/ characters"); 
} 
+0

Liebe svenito, Froh, dass ich fragte, nachdem alle. Es stellt sich heraus, dass mein Taschenrechnerknopf (und Operation) die Zeichenkette "+/-" enthalten sollte; aber ich wusste nicht über NSCharacterSet, und wird sicherlich in der Lage sein, dies in der Zukunft zu verwenden. Vielen Dank! -z – zazu