ing*_*.am 86 objective-c nsstring
我目前有一个网络服务器设置,我通过SOAP与我的iPhone应用程序进行通信.我正在返回一个包含GUID的字符串,当我尝试将其与另一个字符串进行比较时,我得到一些奇怪的结果.
为什么这不会开火?当然这两个字符串是匹配的吗?
NSString *myString = @"hello world";
if(myString == @"hello world")
return;
Run Code Online (Sandbox Code Playgroud)
jle*_*ehr 200
使用该-isEqualToString:
方法比较两个字符串的值.使用C ==
运算符将简单地比较对象的地址.
if ([category isEqualToString:@"Some String"])
{
// Do stuff...
}
Run Code Online (Sandbox Code Playgroud)
mxg*_*mxg 46
您可以根据需要使用区分大小写或不区分大小写的比较.区分大小写是这样的:
if ([category isEqualToString:@"Some String"])
{
// Both strings are equal without respect to their case.
}
Run Code Online (Sandbox Code Playgroud)
不区分大小写是这样的:
if ([category compare:@"Some String" options:NSCaseInsensitiveSearch] == NSOrderedSame)
{
// Both strings are equal with respect to their case.
}
Run Code Online (Sandbox Code Playgroud)
您可以将字符串与以下函数进行比较。
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
Run Code Online (Sandbox Code Playgroud)