Ram*_*iro 13 iphone if-statement objective-c ipad ios
我正在尝试为我的CGPoints做一个if-else语句,我怎么能这样做,我试过这个代码......
if (point1 != point2)
{
//statement
}
Run Code Online (Sandbox Code Playgroud)
我有这个错误
Invalid operand for binary expression...
谢谢!
xha*_*han 45
尝试使用功能CGPointEqualToPoint.
if (!CGPointEqualToPoint(p1,p2))
{
//statement
}
Run Code Online (Sandbox Code Playgroud)
你可以做:
if (!CGPointEqualToPoint(point1, point2)) {
....
}
Run Code Online (Sandbox Code Playgroud)
浮点数(以及因此CGFloats)有点棘手,因为有时候你希望它们被认为是相等的,但它们只是微不足道的.如果你想要一个"模糊"的比较,你可以这样做:
if (fabsf(point1.x - point2.x) > 0.0001f || fabsf(point1.y - point2.y) > 0.0001f) {
...
}
Run Code Online (Sandbox Code Playgroud)
这将检查point1和point2的x和y分量是否相差大于0.0001(完全任意数字,根据您所需的精度,可以是您想要的任何数字).
我建议使用以下功能:(来自Apple Docs)
CGPointEqualToPoint:返回两个点是否相等.
bool CGPointEqualToPoint (CGPoint point1, CGPoint point2);
Run Code Online (Sandbox Code Playgroud)
参数
第1点:要研究的第一点.
第二点:第二点要研究.
返回值如果两个指定的点相同,则返回true; 否则,错误.
有关更多信息,请阅读:CGGeometry参考
请参阅CGPointEqualToPoint:返回两个点是否相等.
bool CGPointEqualToPoint (
CGPoint point1,
CGPoint point2
);
Run Code Online (Sandbox Code Playgroud)
参数
回报价值
如果两个指定的点相同,则为true; 否则,错误.
| 归档时间: |
|
| 查看次数: |
7303 次 |
| 最近记录: |