@3
の代わりにできることはわかっています[NSNumber numberWithInt:3]
が、のリテラルは[NSNumber numberWithUnsignedInteger:3]
何ですか?
質問する
1393 次
3 に答える
8
@3U
orを使用できます@3UL
(または通常の整数サフィックスを使用して型を変更します。たとえば@3ULL
for unsigned long long
)。
NSNumber リテラルの詳細については、このページを参照してください。
于 2012-09-13T01:15:02.973 に答える
5
正しいリテラルを覚えていない場合でも、型キャストは機能します。
NSNumber* number = @((NSUInteger)3);
于 2012-09-13T01:23:56.287 に答える
2
@3UL
は、NSNumber
と明示的に同じ幅/符号の を提供しNSUInteger
ます。
しかし、なぜこれが必要なのか自問してみてください。はC/Objective-C 1のすべての3
数値型で正確に表現できるため、同じように動作するオブジェクトが得られます。使用される定数の型は異なりますが、取得したオブジェクトはまったく同じ方法で使用でき、同じ一連のメソッドでボックス化解除できます。@3
1わかりました、わかりました。_Bool
やなどの 1 ビットのみを表す型を除きますint : 1
。
于 2012-09-13T01:29:55.250 に答える