Ios 无法检查CGPoint是否不等于CGPointZero
我在Ios 无法检查CGPoint是否不等于CGPointZero,ios,if-statement,cgpoint,Ios,If Statement,Cgpoint,我在UIView类中声明了一个CGPoint,在我的viewController中,我试图检查CGPoint是否不等于CGPointZero,但我得到了这个错误:二进制表达式的无效操作数('CGPoint'(也称为'struct CGPoint')和'CGPoint') 这是if语句: if (joystick.velocity != CGPointZero) 错误指向!=我不知道为什么它会给我一个错误 操纵杆是ui视图类,CGPoint-velocity声明如下: @属性(非原子)点速度尝试
UIView
类中声明了一个CGPoint
,在我的viewController
中,我试图检查CGPoint
是否不等于CGPointZero
,但我得到了这个错误:二进制表达式的无效操作数('CGPoint'(也称为'struct CGPoint')和'CGPoint')
这是if语句:
if (joystick.velocity != CGPointZero)
错误指向!=我不知道为什么它会给我一个错误
操纵杆
是ui视图
类,CGPoint-velocity
声明如下:
@属性(非原子)点速度代码>尝试以下操作:
if (!CGPointEqualToPoint(joystick.velocity, CGPointZero))
说明:CGPoint实际上是一个结构。二进制操作数(“==”或“!=”)仅用于比较基本值,通常用于比较指针,实际上指针是表示内存位置的整数
由于您有一个结构,而不是对某个对象的引用,因此您必须比较结构中的每个值,但幸运的是,apple已经实现了一个宏,在CGPoint中为您执行此操作
如果您感到好奇,可以单击上面的宏命令并查看实现:
__CGPointEqualToPoint(CGPoint point1, CGPoint point2)
{
return point1.x == point2.x && point1.y == point2.y;
}
你抢先回答了我:)我现在要试试这个,我以为会是这样的,比如isEqualToString方法。