我意识到问题不是很具体。我正在研究一个简单的琐事游戏来测试一些东西,现在它有5个数组,一个用于问题,一个用于第一个答案选项,一个用于第二个答案选项,一个用于第三个答案选项,一个用于表示哪一个是正确的。
我有一个if语句,检查按下的按钮是否与正确的答案匹配。
Answer2连接到将在我的琐事应用程序中选择选项b的按钮,strCorrect是包含单个字符的字符串数组,该字符表示三个中的哪个选项是正确的,intCurrentQuestion只是我用来引用的一个整数数组的索引。
-(IBAction)Answer2{
if ([strCorrect objectAtIndex:intCurrentQuestion] == [NSString stringWithFormat:@"B"]){
//do these things blah blah
}
}
问题是编译时没有错误,但它也不起作用。我该如何开展这项工作?
出于测试目的,我作弊并将strCorrect传递给nib中的隐藏标签,然后将标签文本与@“B”进行比较,但它的工作正常,但是......它很糟糕。
答案 0 :(得分:0)
[[strCorrect objectAtIndex:intCurrentQuestion] isEqualToString:@"B"]
答案 1 :(得分:0)
您在上面的代码中所做的是比较两个字符串的内存地址,而不是它们的值。比较你必须做的两个NSStrings:
[[strCorrect objectAtIndex:intCurrentQuestion] isEqualToString:@"B"];