我是新开发的。我不明白为什么它不起作用我的代码如下
if(selectAnswer == [[self.testQuesArray objectAtIndex:0]objectForKey:@"correct_answer"]
{
NSLog(@"Correct Answer");
}
其中 selectAnswer 是NSString
,而 correct_answer 是一个“键”,而 0 是它的“值”。请告诉我解决方案为什么它没有出现在“If”正文中?
我是新开发的。我不明白为什么它不起作用我的代码如下
if(selectAnswer == [[self.testQuesArray objectAtIndex:0]objectForKey:@"correct_answer"]
{
NSLog(@"Correct Answer");
}
其中 selectAnswer 是NSString
,而 correct_answer 是一个“键”,而 0 是它的“值”。请告诉我解决方案为什么它没有出现在“If”正文中?
试试这个代码:
if ([selectAnswer isEqualToString:[NSString stringWithFormat:@"%@",[[self.testQuesArray objectAtIndex:0]objectForKey:@"correct_answer"]]])
{
}
您正在比较字符串,因此您必须使用 isEqualToString 代替“==”。
if([selectAnswer isEqualToString : [NSString stringWithFormat:@"%@",[[self.testQuesArray objectAtIndex:0]objectForKey:@"correct_answer"]]]
{
NSLog(@"Correct Answer");
}
希望这可以帮助你。
其实现在你是comparing
二pointers
(address 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"]]]