Cocoa数字类型
3.3.7?? Cocoa数字类型
本节中的类型不是Objective-C语言的一部分。它们都定义于Cocoa框架中,但是,我们会看到它们经常在这里提及。从Mac OS X 10.5开始,Apple已经使用定义的类型替代了Cocoa框架中int和float的大多数出现,而定义的类型的长度取决于代码是编译为32位可执行程序还是64位可执行程序(参见附录C)。
NSInteger
NSInteger替代了Cocoa框架中大多数int的出现。它在32位环境中定义为int,在64位环境中定义为long(64位整数)。
NSUInteger
NSUInteger是NSInteger的无符号形式。它替代了Cocoa框架中的大多数unsigned的出现。在32位环境中,它是一个无符号的32位整数;在64位环境中,它是一个无符号的long(无符号的64位整数)。
CGFloat
CGFloat替代了float。当针对32位环境编译的时候,它是一个float(32位);当针对64位环境编译的时候,它是一个double(64位)。Foundation框架提供了一个定义的常量,CGFLOAT_IS_DOUBLE,如果需要通过编程知道CGFloat在当前的环境中是一个float还是一个double,使用下面的语句:
2010-02-01?11:41:26.556?a.out[33955:903]?Greetings?from?NSLog?
为了显示上的清晰,在本书后面的部分中,在显示NSLog的输出时,我们去除了额外的信息。
?
?
转自: ??http://book.51cto.com/art/201102/245615.htm