Por ejemplo, al pasar un valuemensaje a una NSIntegerinstancia como esta
[a value] provoca un EXC_BAD_ACCESS.
Entonces, ¿cómo convertir un NSIntegera int?
Si es relevante, solo se utilizan números pequeños <32.
objective-c
cocoa
nsinteger
Jeffrey
fuente
fuente

Respuestas:
Ta da:
NSIntegerno es más que un int de 32/64 bits. (usará el tamaño apropiado según el sistema operativo / plataforma que esté ejecutando)fuente
Si desea hacer esto en línea, simplemente transmita
NSUIntegeroNSIntegera unint:fuente
NSIntegervalor en lugar de unint. En ningún caso es una solución multilínea.No estoy seguro de las circunstancias en las que necesita convertir un
NSIntegeren unint.NSInteger es solo un typedef:
NSInteger Se utiliza para describir un número entero independientemente de si está compilando para un sistema de 32 bits o de 64 bits.
Puede usar
NSIntegercualquier lugar que useintsin convertirlo.fuente
Usado comúnmente en UIsegmentedControl, aparece un "error" al compilar en 64 bits en lugar de 32 bits, una forma fácil de no pasarlo a una nueva variable es usar estos consejos, agregar (int) :
en vez de :
fuente