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.