我知道UIKit
使用CGFloat
是因为它具有分辨率无关的坐标系统。
但每次我想检查例如frame.origin.x
是否为0
时,这让我感到不舒服:
if (theView.frame.origin.x == 0) {
// do important operation
}
CGFloat
在使用==
、<=
、>=
、<
、>
进行比较时,是否容易出现误判呢?毕竟它是浮点数,存在精度问题,例如:0.0000000000041
。
在比较过程中,Objective-C
是否会内部处理这个问题呢?或者说可能会出现origin.x
读取为零但与0
进行比较结果不为真的情况吗?