Bonjour, je me demande si vous pouvez vérifier si une chaîne NSString est égale à une valeur spécifique, par exemple le nom d'une personne?
Je pense dans le sens de
if (mystring == @"Johns"){
//do some stuff in here
}
if ([mystring isEqualToString:@"Johns"]){
//do some stuff in here
}
Voici une autre méthode que vous voudrez peut-être utiliser dans certaines circonstances:
NSArray * validNames = @[ @"foo" , @"bar" , @"bob" ];
if ([validNames indexOfObject:myString].location != NSNotFound)
{
// The myString is one of the names in the valid names array
}
Ou si vous avez un grand nombre de noms dans le tableau, vous pouvez utiliser un NSSet
, car la recherche d'un objet est plus rapide que dans un tableau ((O(Log N)
Vs O(N)
)
NSSet * validNamesSet = [NSSet setWithArray:validNames];
if ([validNamesSet containsObject:myString])
{
// This is faster than indexOfObject for large sets
}
Ces méthodes fonctionnent car NSSet
et NSArray
utilisent isEqual:
qui appellera isEqualToString:
pour NSString
instances.