a の各値は
typedef enum
として扱われint
ますか?たとえば、次の場合
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:]
それを使用しているため、使用する正しい方法だと思います。例えば:[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;
明示的なafter
+[NSNumber numberWithUnsignedInteger:]
があるため、これが正しい使用方法だと思います。正しい?例えば:NSUInteger
typedef
[NSNumber numberWithUnsignedInteger:UIViewAutoresizingNone]
質問する
13209 次