4

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

读到这里,似乎建议是使用 CGFloat 而不是浮动,因为它为我的代码提供了针对不同处理器架构的未来证明(64 位句柄浮动不同)。假设这是对的,那么为什么UISlider要直接使用(例如float值)?对我来说阅读它们并将其转换为 a会不会是错误的(或其他东西),因为无论如何如果架构发生变化,我的代码都不正确?floatCGFloat

4

2 回答 2

6

CGFloat只是一个typedeffor float。这提供了灵活性,CGFloat以便在未来有所不同。这就是为什么使用它可以让您的代码面向未来。Objective-C 对许多类型执行此操作,这NSInteger是另一个示例。

尽管它们可以互换使用,但我同意它不会出现在UISliderApple 正在dogfooding的情况下。

于 2010-07-09T15:38:32.107 回答
2

CGFloat 是 Core Graphics 的一部分,用于像素值之类的东西,这些年来它发生了很大的变化(这里有谁是 TRS-80 爱好者吗?)。因此,建议将 CGFloat 用于显示相关的绘图值。

滑块的值与图形无关。它只是 0.0 到 1.0,可以通过浮点数精确处理,并且可能是 16 位浮点数。

于 2011-06-01T18:26:12.460 回答