我有一个CGPoint在UIView类中声明,在我的viewController中,我尝试检查CGPoint是否不等于CGPointZero,但是我收到这个错误:二进制表达式(‘CGPoint'(又名’struct CGPoint’)’和’ CGPoint“)
这是if语句:
if (joystick.veLocity != CGPointZero)
操纵杆是UIView类,CGPoint速度是这样声明的:
@property(非原子)CGPoint速度;
解决方法
尝试这个:
if (!CGPointEqualToPoint(joystick.veLocity,CGPointZero))
说明:CGPoint实际上是一个结构体.二进制操作数(“==”或“!=”)只用于比较原始值,通常用于比较指针,实际上它是表示内存位置的整数.
当你有一个结构体,而不是某个东西的引用,你将不得不比较你的结构体内的每个值,但幸运的是,苹果已经实现了一个在CGPoint的情况下为你执行的宏.
如果您好奇,可以通过命令单击上面的宏,并查看实现:
__CGPointEqualToPoint(CGPoint point1,CGPoint point2) { return point1.x == point2.x && point1.y == point2.y; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。