Chaînes Objective-C
La chaîne en langage de programmation Objective-C est représentée à l'aide de NSString et sa sous-classe NSMutableString fournit plusieurs méthodes pour créer des objets chaîne. La manière la plus simple de créer un objet chaîne est d'utiliser la construction Objective-C @ "..." -
NSString *greeting = @"Hello";
Un exemple simple de création et d'impression d'une chaîne est présenté ci-dessous.
#import <Foundation/Foundation.h>
int main () {
NSString *greeting = @"Hello";
NSLog(@"Greeting message: %@\n", greeting );
return 0;
}
Lorsque le code ci-dessus est compilé et exécuté, il produit un résultat comme suit -
2013-09-11 01:21:39.922 demo[23926] Greeting message: Hello
Objective-C prend en charge un large éventail de méthodes pour manipuler des chaînes -
N ° Sr. | Méthode et objectif |
---|---|
1 | - (NSString *)capitalizedString; Renvoie une représentation en majuscule du récepteur. |
2 | - (unichar)characterAtIndex:(NSUInteger)index; Renvoie le caractère à une position donnée du tableau. |
3 | - (double)doubleValue; Renvoie la valeur à virgule flottante du texte du destinataire sous forme de double. |
4 | - (float)floatValue; Renvoie la valeur à virgule flottante du texte du récepteur sous forme de flottant. |
5 | - (BOOL)hasPrefix:(NSString *)aString; Renvoie une valeur booléenne qui indique si une chaîne donnée correspond aux caractères de début du récepteur. |
6 | - (BOOL)hasSuffix:(NSString *)aString; Renvoie une valeur booléenne qui indique si une chaîne donnée correspond aux caractères de fin du récepteur. |
sept | - (id)initWithFormat:(NSString *)format ...; Renvoie un objet NSString initialisé à l'aide d'une chaîne de format donnée comme modèle dans lequel les valeurs d'argument restantes sont remplacées. |
8 | - (NSInteger)integerValue; Renvoie la valeur NSInteger du texte du destinataire. |
9 | - (BOOL)isEqualToString:(NSString *)aString; Renvoie une valeur booléenne qui indique si une chaîne donnée est égale au récepteur à l'aide d'une comparaison littérale basée sur Unicode. |
dix | - (NSUInteger)length; Renvoie le nombre de caractères Unicode dans le récepteur. |
11 | - (NSString *)lowercaseString; Renvoie une représentation en minuscules du récepteur. |
12 | - (NSRange)rangeOfString:(NSString *)aString; Recherche et renvoie la plage de la première occurrence d'une chaîne donnée dans le récepteur. |
13 | - (NSString *)stringByAppendingFormat:(NSString *)format ...; Renvoie une chaîne créée en ajoutant au récepteur une chaîne construite à partir d'une chaîne de format donnée et des arguments suivants. |
14 | - (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set; Renvoie une nouvelle chaîne créée en supprimant des deux extrémités des caractères récepteurs contenus dans un jeu de caractères donné. |
15 | - (NSString *)substringFromIndex:(NSUInteger)anIndex; Renvoie une nouvelle chaîne contenant les caractères du receveur depuis celui d'un index donné jusqu'à la fin. |
L'exemple suivant utilise quelques-unes des fonctions mentionnées ci-dessus -
#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;
}
Lorsque le code ci-dessus est compilé et exécuté, il produit un résultat comme suit -
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
Vous pouvez trouver une liste complète des méthodes liées à Objective-C NSString dans NSString Class Reference.