Você deve declarar sua cadeia constante da seguinte maneira:
NSString * const kSomeConstantString = @""; // constant pointer
ao invés de:
const NSString * kSomeConstantString = @""; // pointer to constant
// equivalent to
NSString const * kSomeConstantString = @"";
O primeiro é um ponteiro constante para um NSStringobjeto, enquanto o último é um ponteiro para um NSStringobjeto constante .
O uso de um NSString * constimpede que você reatribua o kSomeConstantString para apontar para um NSStringobjeto diferente .
O método isEqualToString:prevê um argumento do tipo NSString *. Se você passar um ponteiro para uma string constante ( const NSString *), estará passando algo diferente do que o esperado.
Além disso, os NSStringobjetos já são imutáveis, tornando-os const NSStringsem sentido.