我一直在努力进行简单的比较,但无法让它发挥作用。
我正在读取一个 XML 文件,我需要比较其中的数据才能显示正确的图片。
http://www.cleaner.se/larm.xml http://www.cleaner.se/larm.xml(解析示例文件)
我尝试过类似的事情:
if([aLarm.larmClass isEqualToString:@"A"])
NSLog(@"same");
else
NSLog(@"Not same");
如果我使用:NSLog(aLarm.larmClass);
控制台按其应有的方式很好地显示了它。我究竟做错了什么?
您可以使用 NSString Compare: 方法。例如:
if ([myString caseInsensitiveCompare:@"A"] == NSOrderedSame ) {
NSLog(@"The same");
} else {
NSLog(@"Not the same.");
}
结果是一个 NSComparisonResult,它只是一个类型为 NSOrderedSame、NSOrderedAscending 和 NSOrderedDescending 的枚举。
检查有关各种比较的文档:方法here http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/doc/uid/20000154-caseInsensitiveCompare_.
当然,如果接收者实际上是一个 NSString,那么 isEqualToString: 也应该起作用。因此,如果您尝试比较类名(aLarm.larmClass ??),那么您可以调用:
if ([NSStringFromClass([aLarm class]) isEqualToString:@"A"] ) {
NSLog(@"The same");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)