这是我的第一篇文章,所以要善待:)
我四处寻找解决方案,但似乎无法找到解决方案。问题可能是以谷歌将返回有用结果的方式提出问题。
所以,我有一个NSMutableArray(称为boardColCoords),我有CGPoint(称为touchLocation)。我想比较两者,以便我可以将UIImageView位置捕捉到boardColCoords数组中的正确坐标。
以下是相关代码:
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchLocation = [touch locationInView:self.view];
NSNumber *boardSquareX = [boardColCoords objectAtIndex:i];
if (touchLocation.x - boardSquareX <= 12)
{
}
我知道12最终必须改变,但我只想让减法先行。我得到的具体错误是:
二进制表达式的无效操作数('CGFloat'(又名'浮动')和“NSNumber *)。
答案 0 :(得分:8)
NSNumber是一个包装器,您必须使用floatValue
之类的内容“提取”它的值,以便进行比较:
if (touchLocation.x - [boardSquareX floatValue] <= 12)
答案 1 :(得分:2)
要从NSNumber获取浮点值,您可以
[boardSquareX floatValue];
答案 2 :(得分:1)
您需要从boardSquareX
中提取原始数字。
if (touchLocation.x - [boardSquareX floatValue] <= 12)
{
}