Table des matières

Écriture simplifiée de littéraux

Cette page présente un pense-bête sur l'écriture simplifiée de littéraux en Objective C.

Nombres

Écriture conventionnelle Écriture simplifiée
NSNumber *b = [NSNumber numberWithBool:YES];
NSNumber *b = @YES;
NSNumber *b = [NSNumber numberWithBool:NO];
NSNumber *b = @NO;
NSNumber *c = [NSNumber numberWithChar:'X'];
NSNumber *c = @'X';
NSNumber *one = [NSNumber numberWithInt:1];
NSNumber *one = @1;

Tableaux

NSArray *t = [NSArray arrayWithObjects: @"A", @"B", @"C", nil];

Pour un tableau non mutable

NSArray *t = @[ @"A", @"B", @"C" ];

Pour un tableau modifiable

NSMutableArray *t = [@[@"A", @"B", @"C"] mutableCopy];

Dictionnaires

créer ou alimenter un tableau

NSArray *cles = [NSArray arrayWithObjects:@"A", @"B", @"C", nil];
NSArray *valeurs = [NSArray arrayWithObjects:@"Valeur A", @"Valeur B", @"Valeur C"], nil];
NSDictionary *s = [NSDictionary dictionaryWithObjects:valeurs forKeys:cles];
NSDictionary *s = @{@"A" : @"Valeur A", @"B" : @"Valeur B", @"C" : @"Valeur C"};

Accéder et modifier des valeurs

NSString *object_in_t = [t objectAtIndex:0]; // Renvoie 'A' depuis le tableau t
NSString *valeur_cle = [s objectForKey:@"A"]; // Renvoie 'valeur A' depuis le dictionnaire s
NSString *object_in_t = t[0];
NSString *valeur_cle = s[@"A"];
t[0] = @"Nouvelle valeur pour t[0]";
s[@"A"] = @"Nouvelle valeur pour la clé A dans S"