Comment convertir NSInteger
au type de données NSSsortingng
?
J’ai essayé ce qui suit, où month est un NSInteger
:
NSSsortingng *inStr = [NSSsortingng ssortingngWithFormat:@"%d", [month intValue]];
NSIntegers ne sont pas des objects, vous les transformez en long
, afin de correspondre à la définition actuelle des architectures 64 bits:
NSSsortingng *inStr = [NSSsortingng ssortingngWithFormat: @"%ld", (long)month];
Chemin Obj-C =):
NSSsortingng *inStr = [@(month) ssortingngValue];
Utilisation
objective c
moderne objective c
Dites nous 12 votre NSInteger
NSSsortingng *integerAsSsortingng = [@12 ssortingngValue];
ou plutôt
NSInteger number = 12; NSSsortingng *integerAsSsortingng = [@(number) ssortingngValue];
Très simple. N’est-ce pas?
Si tu utilises
Swift
var integerAsSsortingng = Ssortingng(integer)
%zd
fonctionne pour NSIntegers ( %tu
pour NSUInteger) sans castings et sans avertissements sur les architectures 32 bits et 64 bits. Je ne sais pas pourquoi ce n’est pas la ” méthode recommandée “.
NSSsortingng *ssortingng = [NSSsortingng ssortingngWithFormat:@"%zd", month];
Si vous êtes intéressé par pourquoi cela fonctionne, voyez cette question .
Un moyen facile de faire:
NSInteger value = x; NSSsortingng *ssortingng = [@(value) ssortingngValue];
Ici, la @(value)
convertit le NSInteger
donné en un object NSNumber
pour lequel vous pouvez appeler la fonction requirejse, ssortingngValue
.
Lors de la compilation avec le support de arm64
, cela ne générera pas d’avertissement:
[NSSsortingng ssortingngWithFormat:@"%lu", (unsigned long)myNSUInteger];
Vous pouvez également essayer:
NSInteger month = 1; NSSsortingng *inStr = [NSSsortingng ssortingngWithFormat: @"%ld", month];
La réponse est donnée mais pensez que pour certaines situations, ce sera aussi un moyen intéressant d’obtenir de la chaîne de NSInteger
NSInteger value = 12; NSSsortingng * ssortingng = [NSSsortingng ssortingngWithFormat:@"%0.0f", (float)value];
NSNumber peut être bon pour vous dans ce cas.
NSSsortingng *inStr = [NSSsortingng ssortingngWithFormat:@"%d", [NSNumber numberWithInteger:[month intValue]]];