Objective-C Language
Objectif moderne-C
Recherche…
Littéraux
L'objectif moderne C permet de réduire la quantité de code nécessaire à l'initialisation de certains types courants. Cette nouvelle méthode est très similaire à la façon dont les objets NSString sont initialisés avec des chaînes constantes.
NSNumber
Ancienne manière:
NSNumber *number = [NSNumber numberWithInt:25];
Manière moderne:
NSNumber *number = @25;
Remarque: vous pouvez également stocker BOOL
valeurs dans NSNumber
objets à l' aide @YES
, @NO
ou @(someBoolValue)
;
NSArray
Ancienne manière:
NSArray *array = [[NSArray alloc] initWithObjects:@"One", @"Two", [NSNumber numberWithInt:3], @"Four", nil];
Manière moderne:
NSArray *array = @[@"One", @"Two", @3, @"Four"];
NSDictionary
Ancienne manière:
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: array, @"Object", [NSNumber numberWithFloat:1.5], @"Value", @"ObjectiveC", @"Language", nil];
Manière moderne:
NSDictionary *dictionary = @{@"Object": array, @"Value": @1.5, @"Language": @"ObjectiveC"};
Indice de conteneur
Dans la syntaxe Objective C moderne, vous pouvez obtenir des valeurs à partir des conteneurs NSArray
et NSDictionary
aide de l' NSDictionary
conteneur.
Ancienne manière:
NSObject *object1 = [array objectAtIndex:1];
NSObject *object2 = [dictionary objectForKey:@"Value"];
Manière moderne:
NSObject *object1 = array[1];
NSObject *object2 = dictionary[@"Value"];
Vous pouvez également insérer des objets dans des tableaux et définir des objets pour les clés dans des dictionnaires de manière plus propre:
Ancienne manière:
// replacing at specific index
[mutableArray replaceObjectAtIndex:1 withObject:@"NewValue"];
// adding a new value to the end
[mutableArray addObject:@"NewValue"];
[mutableDictionary setObject:@"NewValue" forKey:@"NewKey"];
Manière moderne:
mutableArray[1] = @"NewValue";
mutableArray[[mutableArray count]] = @"NewValue";
mutableDictionary[@"NewKey"] = @"NewValue";