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.