使用CGFloat而不是浮动?他们不这样做

时间:2010-07-09 15:32:55

标签: objective-c cgfloat

[我可能误解了整个主题,因为我已经长大了语言,允许开发人员几乎完全忽略处理器架构,比如Java,除非在某些特定情况下。 如果我的某些概念有误,请纠正我。]

阅读here似乎建议使用CGFloat代替浮点数,因为它可以为我的代码提供面向未来的不同处理器体系结构(64位句柄浮动不同)。假设这是正确的,那么为什么UISlider例如直接使用float(对于值)? 对我来说,阅读他们的float并将其转换为CGFloat不是错误(或其他),因为无论如何,如果架构发生变化,我的代码是不正确的吗?< /强>

2 个答案:

答案 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位浮点数。