iPhone - 将nil NSString与另一个值NSString进行比较,返回NSOrderedSame

Oli*_*ver 5 iphone compare equals objective-c nsstring

我正在测试另一个字符串,我注意到如果第一个字符串是nil,则返回值等于NSOrderedSame(值为0).

if([oneString compare:otherString] == NSOrderedSame) 如果oneString为nil,则返回YES.

所以我应该测试一下 if(oneString != nil && [oneString compare:otherString] == NSOrderedSame)

我想我也应该在条件中测试otherString,并且如果我想要那个[nil compare:nil]返回则做一个特殊情况NSOrderedSame.

是否有更方便的方法来比较字符串而不必进行此类测试并真正测试两个字符串是否相同?

fer*_*tar 11

你可以试试

[someString isEqualToString:@"someOtherString"];
Run Code Online (Sandbox Code Playgroud)

或者不区分大小写:

[[someString lowerCaseString] isEqualToString:[otherString lowerCaseString]];
Run Code Online (Sandbox Code Playgroud)