4

我知道我可以这样做@3[NSNumber numberWithInt:3]
但字面意思是[NSNumber numberWithUnsignedInteger:3]什么?

4

3 回答 3

8

您可以使用@3Uor @3UL(或使用通常的整数后缀来更改类型,例如@3ULLfor unsigned long long)。

有关 NSNumber 文字的更多信息,请参阅此页面

于 2012-09-13T01:15:02.973 回答
5

如果您不记得正确的文字,类型转换也可以工作。

NSNumber* number = @((NSUInteger)3);
于 2012-09-13T01:23:56.287 回答
2

@3UL会给你一个NSNumberNSUInteger.

但是问问自己为什么要这个?由于可以由C/Objective-C 1中的所有3数字类型精确表示,因此为您提供了一个行为相同的对象。尽管使用的常量的类型不同,但您得到的对象可以以所有相同的方式使用,并且可以使用相同的方法集进行拆箱。@3

1好的,好的,除了仅代表 1 位的类型,例如_Boolint : 1

于 2012-09-13T01:29:55.250 回答