我知道我可以这样做@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好的,好的,除了仅代表 1 位的类型,例如_Bool
和int : 1
。
于 2012-09-13T01:29:55.250 回答