我的if子句总是运行到else语句中?是什么错?
NSLog([[category objectForKey:@"id"] stringValue]); // Traces 15
if ([[category objectForKey:@"id"] stringValue] == "15") {
result.isExternal = YES;
} else {
result.isExternal = NO;
}
感谢您的帮助
答案 0 :(得分:6)
你应该改变
[[category objectForKey:@"id"] stringValue]
到
[[[category objectForKey:@"id"] stringValue] isEqualToString:@"15"]
至于比较stringValue
你的情况,你需要做== @"15"
因为"15"
不是字符串,除非@
在前面。
答案 1 :(得分:1)
您应该使用isEqualToString Is it necessary to assign a string to a variable before comparing it to another?
答案 2 :(得分:0)
您的“if”语句将两个C字符串与“==”进行比较。你应该使用strcmp。 如果你的函数返回一个客观的C字符串,你应该使用@“15”和正确的比较函数。