我试图制作一个Hangman游戏。我意识到我的方法可能不是最有效的。基本上,每次输入一个字母,我都会检查是否有空格,以便我可以显示"你赢了!"图片。我一直有两个错误:
收件人类型' char'不是' id'或者接口指针,考虑一下 将它投射到' id'
线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x63)
非常感谢任何帮助。
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"];
答案 0 :(得分:2)
Objective-C的事情是它是一个双头野兽。
让我们检查错误:
收件人类型&#39; char&#39;不是&#39; id&#39;或界面指针,考虑将其强制转换为&#39; id&#39;
A&#34;接收器&#34;是什么收到消息。做一个不再准确的概括,消息就是方括号:
[receiver message]
或
[receiver messageArgument1:arg1 argument2:arg2]
id
类型是Objective-C&#34;任何对象&#34;的概念。
所以错误是试图说接收器是char
,它不是一个对象。它是普通的C型。这就是问题所在:&/ p>
if([temp isEqual:@"-"])
对于普通C类型,与==
运算符测试相等:
if (temp == '-')