107 votes

Comment incrémenter un NSNumber

Comment pour incrémenter un NSNumber ?

c'est-à-dire myNSNumber ++

125voto

BoltClock Points 249668

les objets sont immuables ; le mieux que vous pouvez faire est de saisir la valeur primitive, incrémenter puis enveloppez le résultat dans sa propre objet :

122voto

Itai Ferber Points 11517

Mise à jour: pour info, personnellement, j'aime BoltClock et DarkDusts une ligne de réponses mieux. Ils sont plus concis, et ne nécessitent pas de variables supplémentaires.


Afin d'augmenter l' NSNumber, vous allez avoir à obtenir sa valeur, augmentation, et de le stocker dans un nouveau NSNumber.

Par exemple, pour un NSNumber de la détention d'un nombre entier:

NSNumber *number = [NSNumber numberWithInt:...];
int value = [number intValue];
number = [NSNumber numberWithInt:value + 1];

Ou pour un NSNumber détenant un nombre à virgule flottante:

NSNumber *number = [NSNumber numberWithDouble:...];
double value = [number doubleValue];
number = [NSNumber numberWithDouble:value + 1.0];

77voto

shortstuffsushi Points 1056

Pour toute personne qui utilise la dernière version de Xcode (écrit ceci au 4.4.1, SDK 5.1), avec l’utilisation de littéraux d’objet, vous pouvez nettoyer le code même un peu plus...

Toujours aimable d’une douleur à traiter avec la conversion boxing et unboxing tout ce qui concerne des opérations simples, mais il devient mieux, ou au moins plus courte.

30voto

DarkDust Points 47584

NSNumbers sont immuables, vous devez créer une nouvelle instance.

24voto

JLundell Points 817

Mettre tous ensemble, et vous avez :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X