是否存在NSDouble,NSFloat或NSInteger以外的其他类型?

sar*_*unw 36 cocoa types objective-c

In Cocoa,您更喜欢NSInteger还是普通的int,为什么?,有提及NSDoubleNSFloat,但我看不到任何文件中的参考.如果NSInteger建筑安全的目的是什么,那么其他类型如:doublefloat

dus*_*uff 82

NSInteger因为int类型在32位和64位系统之间变化而存在.float并且double不要以相同的方式改变大小,因此不需要为它们提供包装类型.

  • 那么,有一个`CGFloat`,它是32bit上的`float`和64bit上的`double`的`typedef`.我敢说,这与"NS(U)Integer"完全相同. (12认同)
  • 将它包装在NSNumber对象(它是更通用的NSValue的子类)中. (6认同)

Kev*_*ant 5

没有,NSFloat但我知道Core Graphics API最终改变了float,CGFloat以便它可以double在某些架构上使用.

最好使用API​​标头声明的确切类型.如果您为其他目标重新编译代码,则会自动更改类型.