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方法。