¿Cada valor de
typedef enum
se trata comoint
?Cómo convertir typedef enum a NSNumber?por ejemplo, dada la siguiente
typedef enum
:// UIView.h typedef enum { UIViewAnimationCurveEaseInOut, UIViewAnimationCurveEaseIn, UIViewAnimationCurveEaseOut, UIViewAnimationCurveLinear } UIViewAnimationCurve;
¿Cómo sé qué método utilizar para crear un
NSNumber
?+ (NSNumber *)numberWithShort:(short)value; + (NSNumber *)numberWithUnsignedShort:(unsigned short)value; + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithUnsignedInt:(unsigned int)value; + (NSNumber *)numberWithLong:(long)value; + (NSNumber *)numberWithUnsignedLong:(unsigned long)value; + (NSNumber *)numberWithLongLong:(long long)value; + (NSNumber *)numberWithUnsignedLongLong:(unsigned long long)value; + (NSNumber *)numberWithInteger:(NSInteger)value NS_AVAILABLE(10_5, 2_0); + (NSNumber *)numberWithUnsignedInteger:(NSUInteger)value NS_AVAILABLE(10_5, 2_0);
creo
+[NSNumber numberWithInt:]
es el método correcto de usar debido a la accepted answer to Best way to implement Enums with Core Data la usa. Ej .:[NSNumber numberWithInt:UIViewAnimationCurveLinear]
Pero, si
+[NSNumber numberWithInt:]
es correcto, entonces ¿por qué?Para un bit a bit
enum
, por ejemplo .:enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5 }; typedef NSUInteger UIViewAutoresizing;
supongo que
+[NSNumber numberWithUnsignedInteger:]
es el método correcto de usar porque no es una explícitaNSUInteger
despuéstypedef
. ¿Correcto? Ej .:[NSNumber numberWithUnsignedInteger:UIViewAutoresizingNone]
11
A
Respuesta
16
sintaxis moderna Hoy en día se puede utilizar:
@(UIViewAnimationCurveLinear)
6
[NSNumber numberWithInt: your_enum_int_variable];
Cuestiones relacionadas
- 1. Cómo convertir NSNumber a NSString
- 2. Convertir float a NSNumber
- 3. Cómo convertir y comparar NSNumber a BOOL?
- 4. @class para typedef enum?
- 5. C++ typedef enum y justo ENUM
- 6. Convertir cadena a Enum?
- 7. Cómo convertir objetos NSNumber con fines computacionales?
- 8. ¿Cómo convertir un enum a otro enum en java?
- 9. Convertir objeto a enum C#
- 10. Cómo convertir NSString a NSNumber sin usar numberfromstring
- 11. cómo convertir NSNumber a int en Objective-C
- 12. typedef enum, asignando un valor dentro de
- 13. ¿Cómo convertir un Enum a un int?
- 14. Cómo convertir int a enum en C++?
- 15. Cómo convertir el valor enum a int?
- 16. C++ typedef enum de otra clase?
- 17. typedef enum escriba como clave para NSDictionary?
- 18. typedef struct y enum, ¿por qué?
- 19. Convertir NSNumber (doble) valor en el tiempo
- 20. Convertir enum a int de Python
- 21. ¿Es posible convertir enteros a enum?
- 22. PostgreSQL: ¿Es posible convertir enum a entero?
- 23. Convertir cadena a valor de Enum equivalente
- 24. cómo puedo convertir un nsnumber en un float
- 25. Cómo convertir la interfaz VB.net con enum a C#
- 26. Uso de un typedef enum en mi objeto Clase
- 27. Convertir en Enum subyacente tipo
- 28. Cómo convertir el resultado de cadena de enum con el reemplazado toString() a enum?
- 29. iOS: ¿Cómo convertir UIViewAnimationCurve a UIViewAnimationOptions?
- 30. Objective-C typedef enum en el archivo de constantes globales
You rock! Gracias por esto. –