Par exemple lors du passage d'un value
message à un NSInteger
exemple comme
[a value]
il provoque une EXC_BAD_ACCESS.
Alors, comment convertir un NSInteger
de int
?
Si elle est pertinente, qu'un petit nombre < 32 sont utilisés.
Par exemple lors du passage d'un value
message à un NSInteger
exemple comme
[a value]
il provoque une EXC_BAD_ACCESS.
Alors, comment convertir un NSInteger
de int
?
Si elle est pertinente, qu'un petit nombre < 32 sont utilisés.
Je ne suis pas sûr au sujet des circonstances où vous avez besoin de convertir un NSInteger
d'un int
.
NSInteger est juste un typedef:
NSInteger Utilisé pour décrire un entier indépendamment de savoir si vous êtes en bâtiment pour une version 32 bits ou 64 bits du système.
#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
#else
typedef int NSInteger;
#endif
Vous pouvez utiliser NSInteger
tout endroit où vous utilisez un int
sans le convertir.
Couramment utilisé dans les UIsegmentedControl, "erreur" apparaît lors de la compilation en 64 bits au lieu de 32 bits, de la manière la plus facile pour ne pas le transmettre à une nouvelle variable est d'utiliser cette astuces, ajouter (int):
[_monChiffre setUnite:(int)[_valUnites selectedSegmentIndex]];
au lieu de :
[_monChiffre setUnite:[_valUnites selectedSegmentIndex]];
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.