Double 和 CGFloat 都将相同的值打印到控制台 (#2),但只有 Double 发出警告 (#1):
(#1) - 警告
(#2) - 将每个打印到控制台
DOUBLE = 9.223372036854776e+18
CGFLOAT = 9.223372036854776e+18
Run Code Online (Sandbox Code Playgroud)
许多文章提到 CGFloat 在 32 位平台上是 Float,在 64 位平台上是 Double,但这不是仅指后备存储吗?幕后是否有更多因素导致 CGFloat 比 Double 更准确?