0

我是新开发的。我不明白为什么它不起作用我的代码如下

if(selectAnswer == [[self.testQuesArray objectAtIndex:0]objectForKey:@"correct_answer"]
{
    NSLog(@"Correct Answer");
}

其中 selectAnswer 是NSString,而 correct_answer 是一个“键”,而 0 是它的“值”。请告诉我解决方案为什么它没有出现在“If”正文中?

4

3 回答 3

1

试试这个代码:

 if ([selectAnswer isEqualToString:[NSString stringWithFormat:@"%@",[[self.testQuesArray objectAtIndex:0]objectForKey:@"correct_answer"]]]) 
   {

   }
于 2013-06-15T05:53:22.540 回答
1

您正在比较字符串,因此您必须使用 isEqualToString 代替“==”。

if([selectAnswer isEqualToString : [NSString stringWithFormat:@"%@",[[self.testQuesArray objectAtIndex:0]objectForKey:@"correct_answer"]]]
{
NSLog(@"Correct Answer");
}

希望这可以帮助你。

于 2013-06-15T05:55:35.950 回答
0

其实现在你是comparingpointersaddress of string)不是二strings。所以使用不同朋友提供的ans Like:

if([selectAnswer isEqualToString : [self.testQuesArray[0][@"correct_answer"] stringValue])

或者

if([selectAnswer isEqualToString : [NSString stringWithFormat:@"%@",[[self.testQuesArray objectAtIndex:0]objectForKey:@"correct_answer"]]]
于 2013-06-15T08:07:31.913 回答