Czy każda wartość
typedef enum
jest traktowana jakoint
?Jak przekonwertować typedef enum na NSNumber?przykład podane następujące
typedef enum
:// UIView.h typedef enum { UIViewAnimationCurveEaseInOut, UIViewAnimationCurveEaseIn, UIViewAnimationCurveEaseOut, UIViewAnimationCurveLinear } UIViewAnimationCurve;
Skąd wiem, która metoda do wykorzystania do tworzenia
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);
myślę
+[NSNumber numberWithInt:]
jest poprawna metoda, ponieważ accepted answer to Best way to implement Enums with Core Data używa. Np .:[NSNumber numberWithInt:UIViewAnimationCurveLinear]
Ale jeśli
+[NSNumber numberWithInt:]
jest poprawny, to dlaczego?Dla bitowego
enum
, np .:enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5 }; typedef NSUInteger UIViewAutoresizing;
Zgaduję, że
+[NSNumber numberWithUnsignedInteger:]
jest poprawna metoda, ponieważ istnieje wyraźnaNSUInteger
potypedef
. Poprawny? Np .:[NSNumber numberWithUnsignedInteger:UIViewAutoresizingNone]
11
A
Odpowiedz
16
Obecnie nowoczesny składni można stosować:
@(UIViewAnimationCurveLinear)
6
[NSNumber numberWithInt: your_enum_int_variable];
Powiązane problemy
- 1. typedef NS_ENUM vs typedef enum
- 2. Jak przekonwertować enum na QString?
- 3. typedef i enum lub enum class
- 4. Konwertuj wyliczanie na NSNumber w swift
- 5. Konwersja na numer NSNumber
- 6. Typedef i enum o tej samej nazwie?
- 7. Co oznacza typedef enum składniowa, jak "1 << 0"?
- 8. Czy "typedef enum {} t" zezwala na ustalanie identyfikatorów elementów enum w C++ 0x?
- 9. Jak przekonwertować tablicę ciągów na tablicę enum w java
- 10. Konwertuj numer NSNumber (podwójny) na czas
- 11. Swift: Konwertowanie NSNumber na NSString (NSNumber nie jest podtypem NSString)
- 12. Jak zrobić matematykę na numer NSNumber
- 13. Konwertuj długie NSString na numer NSNumber
- 14. jak porównać wartości enum
- 15. Jak porównaj NSNumber w if
- 16. C++ pakowanie wyliczenia typedef
- 17. #typedef i KVC w ObjC
- 18. Konwertuj CGFloat na NSNumber w Swift
- 19. Jak przekonwertować odniesienie wyliczeniowe na liczbę?
- 20. Enum jak Dictionary klucze
- 21. NSNumber możliwy wyciek pamięci
- 22. NSNumber z CGFloat
- 23. Porównanie literałów NSNumber
- 24. Czy można rzucić NSInteger do NSNumber?
- 25. Jak przekonwertować wartość wyliczenia na int?
- 26. $ .each na Enum JQuery
- 27. Konwersja Double na NSNumber w Swift traci dokładność
- 28. Swift obiekt convert to NSNumber Double
- 29. Jak wyliczyć z enum w Objective-C?
- 30. typedef NS_OPTIONS sprawdzić jak UIViewAutoresizing
Ty rock! Dziękuję za to. –