If-Statement for String/Int

fab*_*ian -3 iphone objective-c

我的if子句总是运行到else语句中?怎么了?

        NSLog([[category objectForKey:@"id"] stringValue]); // Traces 15
        if ([[category objectForKey:@"id"] stringValue] == "15") {
            result.isExternal = YES;
        } else {
            result.isExternal = NO;
        }
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

Gar*_*ett 6

你应该改变

[[category objectForKey:@"id"] stringValue]
Run Code Online (Sandbox Code Playgroud)

[[[category objectForKey:@"id"] stringValue] isEqualToString:@"15"]
Run Code Online (Sandbox Code Playgroud)

而作为比较的是stringValue你怎么样,你需要做== @"15""15"是不是一个字符串,除非@是盈.