Ich versuche, ein Hangman-Spiel zu machen. Ich weiß, dass meine Methoden wahrscheinlich nicht die effizientesten sind. Grundsätzlich überprüfe ich jedes Mal, wenn ein Buchstabe eingegeben wird, ob noch irgendwelche Leerzeichen übrig sind, damit ich das "Du hast gewonnen!" Anzeigen kann. Bild. Ich bekomme immer zwei Fehler:Receiver-Typ Fehler Obj-C
Receiver type 'char' is not 'id' or interface pointer , consider casting it to 'id'
Thread 1: EXC_BAD_ACCESS (code=1, address=0x63)
Jede Hilfe wird sehr geschätzt.
BOOL dash = YES;
for(int j = 0; j < self.correctWord.length; j++){
char temp = [self.correctWord characterAtIndex:j];
if([temp isEqual:@"-"])
dash = YES;
}
if(dash == YES)
self.hangmanImage.image = [UIImage imageNamed:@"wonimg"];
alle richtig außer der letzten Zeile ... 'temp' kann, technisch gesehen, nicht 7-Bit-ASCII-Zeichen sein. Ich würde mich auf eine pure-ObjC-Lösung stützen und einen NSScanner verwenden, um nicht-Buchstaben-Zeichen in der Zeichenfolge (oder etwas) zu erkennen. – bbum
Ja, 'characterAtIndex:' gibt ein 'unichar' und kein' char' zurück. Ein anderer Ansatz wäre stattdessen eine Teilkette der Länge 1 zu nehmen. Dann würden Sie sich mit einem NSString befassen, der ein Objekt ist. –