Cadenas de Objective-C

La cadena en el lenguaje de programación Objective-C se representa mediante NSString y su subclase NSMutableString proporciona varias formas de crear objetos de cadena. La forma más sencilla de crear un objeto de cadena es utilizar la construcción Objective-C @ "..." -

NSString *greeting = @"Hello";

A continuación, se muestra un ejemplo sencillo para crear e imprimir una cadena.

#import <Foundation/Foundation.h>

int main () {
   NSString *greeting = @"Hello";
   NSLog(@"Greeting message: %@\n", greeting );

   return 0;
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

2013-09-11 01:21:39.922 demo[23926] Greeting message: Hello

Objective-C admite una amplia gama de métodos para manipular cadenas:

No Señor. Método y propósito
1

- (NSString *)capitalizedString;

Devuelve una representación en mayúscula del receptor.

2

- (unichar)characterAtIndex:(NSUInteger)index;

Devuelve el carácter en una posición de matriz determinada.

3

- (double)doubleValue;

Devuelve el valor de punto flotante del texto del receptor como un doble.

4

- (float)floatValue;

Devuelve el valor de coma flotante del texto del receptor como flotante.

5

- (BOOL)hasPrefix:(NSString *)aString;

Devuelve un valor booleano que indica si una determinada cadena coincide con los caracteres iniciales del receptor.

6

- (BOOL)hasSuffix:(NSString *)aString;

Devuelve un valor booleano que indica si una determinada cadena coincide con los caracteres finales del receptor.

7

- (id)initWithFormat:(NSString *)format ...;

Devuelve un objeto NSString inicializado utilizando una cadena de formato determinada como plantilla en la que se sustituyen los valores restantes de los argumentos.

8

- (NSInteger)integerValue;

Devuelve el valor NSInteger del texto del receptor.

9

- (BOOL)isEqualToString:(NSString *)aString;

Devuelve un valor booleano que indica si una cadena dada es igual al receptor mediante una comparación literal basada en Unicode.

10

- (NSUInteger)length;

Devuelve el número de caracteres Unicode en el receptor.

11

- (NSString *)lowercaseString;

Devuelve la representación del receptor en minúsculas.

12

- (NSRange)rangeOfString:(NSString *)aString;

Busca y devuelve el rango de la primera aparición de una cadena dada dentro del receptor.

13

- (NSString *)stringByAppendingFormat:(NSString *)format ...;

Devuelve una cadena hecha agregando al receptor una cadena construida a partir de una cadena de formato dada y los siguientes argumentos.

14

- (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set;

Devuelve una nueva cadena creada al eliminar de ambos extremos los caracteres del receptor contenidos en un conjunto de caracteres dado.

15

- (NSString *)substringFromIndex:(NSUInteger)anIndex;

Devuelve una nueva cadena que contiene los caracteres del receptor desde el que está en un índice dado hasta el final.

El siguiente ejemplo hace uso de algunas de las funciones mencionadas anteriormente:

#import <Foundation/Foundation.h>

int main () {
   NSString *str1 = @"Hello";
   NSString *str2 = @"World";
   NSString *str3;
   int  len ;

   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

   /* uppercase string */
   str3 = [str2 uppercaseString];
   NSLog(@"Uppercase String :  %@\n", str3 );

   /* concatenates str1 and str2 */
   str3 = [str1 stringByAppendingFormat:@"World"];
   NSLog(@"Concatenated string:   %@\n", str3 );

   /* total length of str3 after concatenation */
   len = [str3 length];
   NSLog(@"Length of Str3 :  %d\n", len );

   /* InitWithFormat */
   str3 = [[NSString alloc] initWithFormat:@"%@ %@",str1,str2];	
   NSLog(@"Using initWithFormat:   %@\n", str3 );
   [pool drain];

   return 0;
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

2013-09-11 01:15:45.069 demo[30378] Uppercase String :  WORLD
2013-09-11 01:15:45.070 demo[30378] Concatenated string:   HelloWorld
2013-09-11 01:15:45.070 demo[30378] Length of Str3 :  10
2013-09-11 01:15:45.070 demo[30378] Using initWithFormat:   Hello World

Puede encontrar una lista completa de los métodos relacionados con Objective-C NSString en NSString Class Reference.