我倾向于在所有地方使用 CGFloat,但我想知道我是否会因此而受到毫无意义的“性能打击”。 CGFloat 似乎是比 float 更“重”的东西,对吧?我应该在什么时候使用 CGFloat,什么才是真正的区别?
正如 @weichsel 所说,CGFloat 只是一个 typedeffloat
or double
。您可以通过在 Xcode 中双击“CGFloat”来亲自查看 - 它将跳转到定义 typedef 的 CGBase.h 标头。 NSInteger 和 NSUInteger 也使用相同的方法。
引入这些类型是为了更轻松地编写无需修改即可在 32 位和 64 位上运行的代码。但是,如果您需要的只是float
在您自己的代码中精度,您仍然可以使用float
如果您愿意,它会在一定程度上减少您的内存占用。对于整数值也是如此。
我建议您投入适当的时间使您的应用程序保持 64 位干净,并尝试以这种方式运行它,因为现在大多数 Mac 都具有 64 位 CPU,而 Snow Leopard 是完全 64 位的,包括内核和用户应用程序。苹果Cocoa 64 位过渡指南 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Cocoa64BitGuide/是一个有用的资源。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)