J'ai un tableau d'objets NSNumber créé ainsi:avertissement variable inutilisée sur pour chaque boucle
myArray = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0], nil];
(Bien que juste pour moi que je aurais pu faire
myArray = [NSMutableArray arrayWithObjects: object1, etc..., nil];
et Ignoré . alloc tout ce qui serait mieux)
Quoi qu'il en soit, il est tangente à ma question:
au cours de la vie de l'application, les valeurs se sont modifiées. À un certain moment, je veux les réinitialiser tous à zéro. Voici comment je le fais maintenant:
for (NSNumber *number in myArray) {
number = [NSNumber numberWithDouble:0.0];
}
Mais l'analyseur statique jette un avertissement parce qu'il pense « nombre » est une variable non utilisée (ce qui est techniquement - défini et n'a jamais utilisé de nouveau). Existe-t-il un meilleur moyen de mettre à zéro tous les éléments du tableau? Peut-être remplacer le tableau avec un nouveau? Qu'est-ce qui serait le plus rapide et éviterait l'avertissement d'analyse statique?
Pour les personnes de l'avenir qui viennent à travers cette question: depuis iOS 6 et Mountain Lion, vous pouvez utiliser de nouveaux littéraux Obj-C, donc '[NSNumber numberWithDouble: 0.0]' devient '@ 0.0', et' [NSArray arrayWithObjects: obj1, obj2, ..., nil ] 'devient' @ [obj1, obj2, ...] '. –