字符串比较目标C.

Man*_*ssa 0 compare objective-c

我一直在努力进行简单的比较,但我无法让它发挥作用.我正在读取一个XML文件,我需要比较它的数据才能显示正确的图片.

http://www.cleaner.se/larm.xml (用于解析的示例文件)

我尝试过这样的事情:

if([aLarm.larmClass isEqualToString:@"A"])
    NSLog(@"same");
 else
    NSLog(@"Not same");
Run Code Online (Sandbox Code Playgroud)

如果我使用:NSLog(aLarm.larmClass); 控制台将它尽可能好地完成.我究竟做错了什么?

Dan*_*rpe 7

您可以使用NSString compare:方法.例如:

if ([myString caseInsensitiveCompare:@"A"] == NSOrderedSame ) {
    NSLog(@"The same");
} else {
    NSLog(@"Not the same.");
}
Run Code Online (Sandbox Code Playgroud)

结果是一个NSComparisonResult,它只是一个包含NSOrderedSame,NSOrderedAscending和NSOrderedDescending类型的枚举.

查看各种比较文档:这里的方法.

当然,如果接收器实际上是一个NSString,那么isEqualToString:也应该可以工作.所以如果你想比较一个类名(aLarm.larmClass ??),那么你可以调用:

if ([NSStringFromClass([aLarm class]) isEqualToString:@"A"] ) {
    NSLog(@"The same");
}
Run Code Online (Sandbox Code Playgroud)