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