[我可能误解了整个主题,因为我已经长大了语言,允许开发人员几乎完全忽略处理器架构,比如Java,除非在某些特定情况下。 如果我的某些概念有误,请纠正我。]
阅读here似乎建议使用CGFloat代替浮点数,因为它可以为我的代码提供面向未来的不同处理器体系结构(64位句柄浮动不同)。假设这是正确的,那么为什么UISlider
例如直接使用float
(对于值)? 对我来说,阅读他们的float
并将其转换为CGFloat
不是错误(或其他),因为无论如何,如果架构发生变化,我的代码是不正确的吗?< /强>
答案 0 :(得分:6)
CGFloat
只是typedef
的{{1}}。这为float
提供了不同的灵活性。这就是为什么使用它将来的代码。 Objective-C以多种类型执行此操作,CGFloat
是另一个示例。
虽然它们可以互换使用,但我同意在NSInteger
的情况下,Apple不会出现 dogfooding 。
答案 1 :(得分:2)
CGFloat是Core Graphics的一部分,用于像素值这样的东西,这些年来发生了很大的变化(这里的任何人都是TRS-80爱好者吗?)。因此,建议使用CGFloat作为与显示相关的绘图值。
滑块的值与图形无关。它只是0.0到1.0,可以通过浮点精确处理,并且可能是16位浮点数。