是否將
typedef enum
的每個值視爲int
?如何將typedef枚舉轉換爲NSNumber?例如,給出以下
typedef enum
:// UIView.h typedef enum { UIViewAnimationCurveEaseInOut, UIViewAnimationCurveEaseIn, UIViewAnimationCurveEaseOut, UIViewAnimationCurveLinear } UIViewAnimationCurve;
我如何知道使用哪種方法來創建一個
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);
我覺得
+[NSNumber numberWithInt:]
是使用的,因爲accepted answer to Best way to implement Enums with Core Data使用它的正確方法。例如:[NSNumber numberWithInt:UIViewAnimationCurveLinear]
但是,如果
+[NSNumber numberWithInt:]
是正確的,那麼爲什麼?對於按位
enum
,例如:enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5 }; typedef NSUInteger UIViewAutoresizing;
我猜
+[NSNumber numberWithUnsignedInteger:]
是使用,因爲有typedef
後明確NSUInteger
正確的方法。正確?例如爲:[NSNumber numberWithUnsignedInteger:UIViewAutoresizingNone]
11
A
回答
16
如今現代語法可以用於:
@(UIViewAnimationCurveLinear)
6
[NSNumber的numberWithInt:your_enum_int_variable];
相關問題
- 1. 將枚舉轉換爲枚舉的MACRO
- 2. 將枚舉轉換爲其他枚舉
- 3. 如何將int轉換爲枚舉值?
- 4. 如何將枚舉轉換爲類型
- 5. 如何將java.lang.reflect.Type轉換爲枚舉?
- 6. 如何將Java枚舉轉換爲C#?
- 7. 如何將KeyEventArgs.KeyCode轉換爲枚舉鍵
- 8. 如何將枚舉值轉換爲int?
- 9. 如何將「值」轉換爲枚舉?
- 10. 將MemberInfo []轉換爲枚舉
- 11. 將枚舉轉換爲uint
- 12. 轉換爲枚舉
- 13. typedef枚舉typedefstruct
- 14. 的typedef枚舉
- 15. 轉換枚舉來枚舉
- 16. typedef枚舉與CGSize?
- 17. 幫助typedef枚舉
- 18. @class for typedef枚舉?
- 19. 如何轉換枚舉爲int
- 20. 在Postgres中將枚舉類型整數轉換爲枚舉
- 21. 將Objective-c的枚舉轉換爲Android的枚舉
- 22. 將java枚舉轉換爲scala枚舉json4s序列化
- 23. 如何將nsnumber轉換爲浮點數
- 24. 如何將NSNumber轉換爲NSString
- 25. 如何將NSNumber轉換爲浮點型?
- 26. 如何將UITextField的值轉換爲NSNumber?
- 27. 如何將UITextField值轉換爲NSNumber?
- 28. 如何將NSDecimalNumber轉換爲NSNumber
- 29. 將C++枚舉轉換爲python int
- 30. 將枚舉轉換爲鍵,值對
你搖滾! 謝謝你。 – 2015-11-06 07:10:57