Si vous déclarez votre entier comme 'NSInteger' ou un int primitif de style C, alors ce que vous dites est vrai. Mais pas si vous utilisez la classe NSNumber. Permettez-moi d'expliquer:
NSInteger n'est pas une classe Objective-C.Il n'est rien de plus qu'un synonyme d'un nombre entier. NSInteger est défini comme ceci:
#if __LP64__ || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif
NSNumber est une classe Objective-C, et une sous-classe de NSValue. Il est possible de créer un objet NSNumber à partir d'un char signé ou non signé, int court, int, long int, long long int, float, double ou BOOL. Parmi les deux, NSNumber ne peut être utilisé que dans des collections, telles que NSArray, où un objet est requis, mais NSInteger ne peut pas être utilisé directement.
Quelles sont les erreurs? ___ – kennytm