您好我想知道您是否可以查看NSString是否等于特定值,例如某个人的名字?
我正在思考
if (mystring == @"Johns"){
//do some stuff in here
}
答案 0 :(得分:141)
if ([mystring isEqualToString:@"Johns"]){
//do some stuff in here
}
答案 1 :(得分:3)
以下是您可能希望在某些情况下使用的另一种方法:
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)
vs O(N)
)
NSSet * validNamesSet = [NSSet setWithArray:validNames];
if ([validNamesSet containsObject:myString])
{
// This is faster than indexOfObject for large sets
}
这些方法有效,因为NSSet
和NSArray
使用isEqual:
会为NSString
个实例调用isEqualToString:
。