Si le preocupa el rendimiento y desea comprobar si hay un carácter, el uso del método -characterAtIndex: puede ser más rápido. -hasSuffix: toma una cadena, por lo que potencialmente necesita hacer más trabajo que simplemente verificar un solo carácter (aunque la diferencia puede ser trivial).
También puede utilizar categorías para añadir un método para NSString así:
@interface NSString(StringUtilities)
- (BOOL) endsWithCharacter: (unichar) c;
@end
@implementation NSString(StringUtilities)
- (BOOL) endsWithCharacter: (unichar) c
{
NSUInteger length = [self length];
return (length > 0) && ([self characterAtIndex: length - 1] == c);
}
@end
// test it...
NSString *data = @"abcd,";
if ([data endsWithCharacter: L','])
{
}
Debe Perfil, por supuesto, para estar seguro. Sin embargo, tenga en cuenta que al poner endsWithCharacter en un método, hemos agregado el mensaje que le pasa por encima, lo que sesgará los resultados de creación de perfiles a menos que haga lo mismo al perfilar las alternativas.
Todo esto es probablemente una optimización prematura para la mayoría de los casos, pero por supuesto si haces esta prueba miles de veces por segundo puede ser importante (en ese caso, probablemente quieras usar el código directamente en el ciclo) , ya que el mensaje que pasa dentro de un circuito interno cerrado no es un gran plan).
robinjam, gracias por su respuesta. Lo intento, pero no funcionó. ¿Es otro método? – Questions
Funciona para mí ... Debe tener un error en otro lugar. – robinjam
robinjam, gracias por su respuesta. Y pruebo otro NSString *, también funciona. Supongo que son algunos otros problemas de mi programa. Debido a que el NSString * se pasa de otro objeto, ¿puedo mostrar el último carácter de NSString porque quiero confirmar que el último carácter es? Gracias. – Questions