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

问题描述:

可能重复:
String comparison in Objective-C如何将字符串变量与xcode中的字符串进行比较?

我意识到这个问题是不是很具体。我正在研究一个简单的琐事游戏来测试一些事情,现在它有5个阵列,一个用于问题,一个用于第一个答案选项,一个用于第二个答案选项,一个用于第三个,还有一个用于说明哪一个是正确的。

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

Answer2连接到将在我的trivia应用程序中选择选项b的按钮,strCorrect是保存单个字符的字符串数组,它表示三个中哪个选项是正确的,intCurrentQuestion只是一个用于引用的整数数组的索引。

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

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

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

+2

键入这个问题的标题到谷歌。第一击是你的答案。 – 2012-03-22 03:43:25

你在做什么在你上面的代码比较内存地址两个字符串,而不是自己的价值。做比较两个NSStrings你必须这样做:

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

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