gpt4 book ai didi

ios - 无法检查 CGPoint 是否不等于 CGPointZero

转载 作者:技术小花猫 更新时间:2023-10-29 11:01:07 25 4
gpt4 key购买 nike

我在 UIView 类中声明了一个 CGPoint,在我的 viewController 中,我尝试检查该 CGPoint 不等于 CGPointZero,但我收到此错误:二进制表达式的无效操作数(“CGPoint”(又名“struct CGPoint”)和“CGPoint”)

这是 if 语句:

if (joystick.velocity != CGPointZero)

错误指向 !=,我不知道为什么它会给我一个错误。

joystickUIView类,CGPoint velocity声明如下:

@property(nonatomic) CGPoint 速度;

最佳答案

试试这个:

if (!CGPointEqualToPoint(joystick.velocity, CGPointZero))

说明:CGPoint 实际上是一个结构体。二元操作数(“==”或“!=”)仅用于比较原始值,通常用于比较指针,指针实际上是表示内存位置的整数。

因为你有一个结构,而不是对某物的引用,你必须比较结构中的每个值,但幸运的是,苹果已经实现了一个宏,在 CGPoint 的情况下为你执行此操作。

如果你很好奇,你可以命令点击上面的宏并查看实现:

__CGPointEqualToPoint(CGPoint point1, CGPoint point2)
{
return point1.x == point2.x && point1.y == point2.y;
}

关于ios - 无法检查 CGPoint 是否不等于 CGPointZero,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18001045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com