Strings Objective-C

A string na linguagem de programação Objective-C é representada usando NSString e sua subclasse NSMutableString fornece várias maneiras de criar objetos string. A maneira mais simples de criar um objeto string é usar a construção Objective-C @ "..." -

NSString *greeting = @"Hello";

Um exemplo simples para criar e imprimir uma string é mostrado abaixo.

#import <Foundation/Foundation.h>

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

   return 0;
}

Quando o código acima é compilado e executado, ele produz um resultado como o seguinte -

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

Objective-C suporta uma ampla gama de métodos para manipular strings -

Sr. Não. Método e Objetivo
1

- (NSString *)capitalizedString;

Retorna uma representação em maiúscula do receptor.

2

- (unichar)characterAtIndex:(NSUInteger)index;

Retorna o caractere em uma determinada posição da matriz.

3

- (double)doubleValue;

Retorna o valor de ponto flutuante do texto do receptor como um duplo.

4

- (float)floatValue;

Retorna o valor de ponto flutuante do texto do receptor como um float.

5

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

Retorna um valor booleano que indica se uma determinada string corresponde aos caracteres iniciais do receptor.

6

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

Retorna um valor booleano que indica se uma determinada string corresponde aos caracteres finais do receptor.

7

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

Retorna um objeto NSString inicializado usando uma determinada string de formato como um modelo no qual os valores de argumento restantes são substituídos.

8

- (NSInteger)integerValue;

Retorna o valor NSInteger do texto do receptor.

9

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

Retorna um valor booleano que indica se uma determinada string é igual ao receptor usando uma comparação literal baseada em Unicode.

10

- (NSUInteger)length;

Retorna o número de caracteres Unicode no receptor.

11

- (NSString *)lowercaseString;

Retorna a representação em minúsculas do receptor.

12

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

Encontra e retorna o intervalo da primeira ocorrência de uma determinada string no receptor.

13

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

Retorna uma string feita anexando ao receptor uma string construída a partir de uma string de formato fornecida e os seguintes argumentos.

14

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

Retorna uma nova string feita removendo de ambas as extremidades dos caracteres receptores contidos em um determinado conjunto de caracteres.

15

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

Retorna uma nova string contendo os caracteres do receptor, desde aquele em um determinado índice até o final.

O exemplo a seguir usa algumas das funções mencionadas acima -

#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;
}

Quando o código acima é compilado e executado, ele produz um resultado como o seguinte -

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

Você pode encontrar uma lista completa de métodos relacionados a Objective-C NSString em NSString Class Reference.