如何将字符串变量与xcode中的字符串进行比较?

时间:2012-03-22 03:37:56

标签: objective-c xcode4 if-statement arrays

  

可能重复:
  String comparison in Objective-C

我意识到问题不是很具体。我正在研究一个简单的琐事游戏来测试一些东西,现在它有5个数组,一个用于问题,一个用于第一个答案选项,一个用于第二个答案选项,一个用于第三个答案选项,一个用于表示哪一个是正确的。

我有一个if语句,检查按下的按钮是否与正确的答案匹配。

Answer2连接到将在我的琐事应用程序中选择选项b的按钮,strCorrect是包含单个字符的字符串数组,该字符表示三个中的哪个选项是正确的,intCurrentQuestion只是我用来引用的一个整数数组的索引。

-(IBAction)Answer2{
    if ([strCorrect objectAtIndex:intCurrentQuestion] == [NSString stringWithFormat:@"B"]){
        //do these things blah blah
    }
}

问题是编译时没有错误,但它也不起作用。我该如何开展这项工作?

出于测试目的,我作弊并将strCorrect传递给nib中的隐藏标签,然后将标签文本与@“B”进行比较,但它的工作正常,但是......它很糟糕。

2 个答案:

答案 0 :(得分:0)

[[strCorrect objectAtIndex:intCurrentQuestion] isEqualToString:@"B"] 

答案 1 :(得分:0)

您在上面的代码中所做的是比较两个字符串的内存地址,而不是它们的值。比较你必须做的两个NSStrings:

[[strCorrect objectAtIndex:intCurrentQuestion] isEqualToString:@"B"];