Objective-C中的string比较

我目前有一个Web服务器设置,我通过SOAP与我的iPhone应用程序进行通信。 我正在返回一个包含GUID的string,当我试图与另一个string进行比较时,我得到了一些奇怪的结果。

为什么这不会起火? 当然这两个string是匹配?

NSString *myString = @"hello world"; if(myString == @"") return; 

3 Solutions collect form web for “Objective-C中的string比较”

使用-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 
  • “Objective-C比C ++更严格地说是C的超集”是什么意思?
  • 查找文件的大小
  • 如何设置一个简单的委托来在两个视图控制器之间进行通信?
  • 在定义cachingvariables时,在objective-c中使用static关键字
  • CaptiveNetwork弃用后,如何在iOS9中获取Wifi SSID,并且呼叫Wifi名称已被阻止
  • UIView:不透明与alpha与不透明
  • 主队列上的dispatch_sync与dispatch_async
  • 目标C中的私有财产
  • 当字段更新时,UITextField“值更改”不会触发
  • 怎么了.NIB - > .XIB?
  • 在哪些情况下,我们需要在ARC下编写__autoreleasing所有权限定符?