我尝试将lastPointX的值放入标签文本中,但不起作用。 在Interface Builder中,我创建了两个标签,“x”值的标签和“y”值的标签。如果有人知道解决方案,请回答问题。
感谢。
这是代码和错误。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
lastPoint = [touch locationInView:self.view];
CGFloat lastPointX = lastPoint.x;
CGFloat lastPointY = lastPoint.y;
labelx.text == lastPointX; // <----- error: Semantic Issue: Invalid operands to binary expression ('NSString *' and 'CGFloat' (aka 'float'))
}
答案 0 :(得分:1)
您正在尝试将float值分配给需要字符串的属性。你也只想要一个“=”而不是两个。试试这个:
labelx.text = [NSString stringWithFormat:@"%f", lastPointX];
答案 1 :(得分:0)
您需要将lastPointX转换为字符串:
[NSString stringwithFormat:@"%d", lastPointX];
答案 2 :(得分:0)
操作数类似于=
,==
和!=
。您收到该错误的原因是您无法将UILabel与CGFloat进行比较,因此使操作数无效。我认为您使用=
错误键入了==
。因此,将==
更改为=
。
接下来,你有将lastPointX转换为字符串,因为notme说。您可以通过从lastPointX float创建NSString来完成此操作。
label1.text = [NSString stringWithFormat:@"%0.0f", lastPointX];