Objective-C中的string比较
我目前有一个Web服务器设置,我通过SOAP与我的iPhone应用程序进行通信。 我正在返回一个包含GUID的string,当我试图与另一个string进行比较时,我得到了一些奇怪的结果。
为什么这不会起火? 当然这两个string是匹配?
NSString *myString = @"hello world"; if(myString == @"") return;
使用-isEqualToString:
方法来比较两个string的值。 使用C ==
运算符将简单地比较对象的地址。
if ([category isEqualToString:@"Some String"]) { // Do stuff... }
您可以使用区分大小写或不区分大小写的比较,具体取决于您的需要。 区分大小写是这样的:
if ([category isEqualToString:@"Some String"]) { // Both strings are equal without respect to their case. }
不区分大小写是这样的:
if ([category compare:@"Some String" options:NSCaseInsensitiveSearch] == NSOrderedSame) { // Both strings are equal with respect to their case. }
你可以比较string与下面的function。
NSString *first = @"abc"; NSString *second = @"abc"; NSString *third = [[NSString alloc] initWithString:@"abc"]; NSLog(@"%d", (second == third)) NSLog(@"%d", (first == second)); NSLog(@"%d", [first isEqualToString:second]); NSLog(@"%d", [first isEqualToString:third]); Output will be :- 0 1 1 1