如何检查NSString =特定的string值?
嗨,我徘徊,如果你可以检查,看看NSString是否等于一个具体的价值,比如说一个人的名字?
我正在思考
if (mystring == @"Johns"){ //do some stuff in here }
if ([mystring isEqualToString:@"Johns"]){ //do some stuff in here }
以下是在某些情况下可能需要使用的另一种方法:
NSArray * validNames = @[ @"foo" , @"bar" , @"bob" ]; if ([validNames indexOfObject:myString].location != NSNotFound) { // The myString is one of the names in the valid names array }
或者如果数组中有大量的名字,可以使用NSSet
,因为查找对象比数组(O(Log N)
对O(N)
)快,
NSSet * validNamesSet = [NSSet setWithArray:validNames]; if ([validNamesSet containsObject:myString]) { // This is faster than indexOfObject for large sets }
这些方法是可行的,因为NSSet
和NSArray
使用isEqual:
这将调用isEqualToString:
用于NSString
实例。