Stringhe Objective-C
La stringa nel linguaggio di programmazione Objective-C è rappresentata utilizzando NSString e la sua sottoclasse NSMutableString fornisce diversi modi per creare oggetti stringa. Il modo più semplice per creare un oggetto stringa è usare il costrutto Objective-C @ "..." -
NSString *greeting = @"Hello";
Di seguito è mostrato un semplice esempio per creare e stampare una stringa.
#import <Foundation/Foundation.h>
int main () {
NSString *greeting = @"Hello";
NSLog(@"Greeting message: %@\n", greeting );
return 0;
}
Quando il codice precedente viene compilato ed eseguito, produce un risultato come segue:
2013-09-11 01:21:39.922 demo[23926] Greeting message: Hello
Objective-C supporta un'ampia gamma di metodi per manipolare le stringhe -
Sr.No. | Metodo e scopo |
---|---|
1 | - (NSString *)capitalizedString; Restituisce una rappresentazione in maiuscolo del destinatario. |
2 | - (unichar)characterAtIndex:(NSUInteger)index; Restituisce il carattere in una data posizione della matrice. |
3 | - (double)doubleValue; Restituisce il valore in virgola mobile del testo del destinatario come double. |
4 | - (float)floatValue; Restituisce il valore in virgola mobile del testo del destinatario come float. |
5 | - (BOOL)hasPrefix:(NSString *)aString; Restituisce un valore booleano che indica se una determinata stringa corrisponde ai caratteri iniziali del destinatario. |
6 | - (BOOL)hasSuffix:(NSString *)aString; Restituisce un valore booleano che indica se una determinata stringa corrisponde ai caratteri finali del destinatario. |
7 | - (id)initWithFormat:(NSString *)format ...; Restituisce un oggetto NSString inizializzato utilizzando una determinata stringa di formato come modello in cui vengono sostituiti i valori dell'argomento rimanenti. |
8 | - (NSInteger)integerValue; Restituisce il valore NSInteger del testo del destinatario. |
9 | - (BOOL)isEqualToString:(NSString *)aString; Restituisce un valore booleano che indica se una determinata stringa è uguale al destinatario utilizzando un confronto letterale basato su Unicode. |
10 | - (NSUInteger)length; Restituisce il numero di caratteri Unicode nel ricevitore. |
11 | - (NSString *)lowercaseString; Restituisce la rappresentazione in minuscolo del ricevitore. |
12 | - (NSRange)rangeOfString:(NSString *)aString; Trova e restituisce l'intervallo della prima occorrenza di una determinata stringa all'interno del ricevitore. |
13 | - (NSString *)stringByAppendingFormat:(NSString *)format ...; Restituisce una stringa creata aggiungendo al ricevitore una stringa costruita da una data stringa di formato e dai seguenti argomenti. |
14 | - (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set; Restituisce una nuova stringa creata rimuovendo da entrambe le estremità dei caratteri del ricevitore contenuti in un determinato set di caratteri. |
15 | - (NSString *)substringFromIndex:(NSUInteger)anIndex; Restituisce una nuova stringa contenente i caratteri del ricevitore da quello a un dato indice fino alla fine. |
L'esempio seguente fa uso di alcune delle funzioni sopra menzionate:
#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 il codice precedente viene compilato ed eseguito, produce un risultato come segue:
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
È possibile trovare un elenco completo dei metodi correlati a Objective-C NSString in NSString Class Reference.