Si vous voulez créer un tableau d'entiers, pouvez-vous utiliser NSInteger? Devez-vous utiliser NSNumber? Si oui, alors pourquoi?
Réponses
Trop de publicités?Tableau C:
NSInteger array[6] = {1, 2, 3, 4, 5, 6};
Tableau Objective-C:
NSArray *array = @[@1, @2, @3, @4, @5, @6];
(les valeurs numériques doivent dans ce cas être encapsulées dans NSNumbers)
(ajouté) Swift Array:
var array = [1, 2, 3, 4, 5, 6]
NB: les tableaux sont fortement typés en Swift; dans ce cas, le compilateur déduit du contenu que le tableau est un tableau d'entiers. Vous pouvez aussi utiliser cette syntaxe de type explicite:
var array: [Int] = [1, 2, 3, 4, 5, 6]
J'ai créé un simple wrapper Objective C autour du bon vieux tableau C pour pouvoir l'utiliser plus facilement: https://gist.github.com/4705733
Si l'ordre des nombres entiers n'est pas nécessaire, et si vous n'êtes que des valeurs uniques
vous pouvez également utiliser NSIndexSet ou NSMutableIndexSet Vous serez en mesure de facilement ajouter et supprimer des entiers, ou de vérifier si votre tableau contient un nombre entier avec
- (void)addIndex:(NSUInteger)index
- (void)removeIndex:(NSUInteger)index
- (BOOL)containsIndexes:(NSIndexSet *)indexSet
Vérifiez la documentation pour plus d'info.