我有一个名为point的CGPoint变量,它被赋值为触摸事件:
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
我想要将x坐标值输出到控制台日志:
NSLog(@"x: %s", point.x);
当我使用这个时,它的日志输出为:
x: (null)
我已经使用调试器和变量监视验证了调用时point不为null。
感谢任何帮助,
谢谢 // :)
我有一个名为point的CGPoint变量,它被赋值为触摸事件:
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
我想要将x坐标值输出到控制台日志:
NSLog(@"x: %s", point.x);
当我使用这个时,它的日志输出为:
x: (null)
我已经使用调试器和变量监视验证了调用时point不为null。
感谢任何帮助,
谢谢 // :)
实际上,记录 CGPoint
最简单的方法是:
NSLog(@"%@", NSStringFromCGPoint(point));
桌面 Cocoa 版本的等效方法是 NSStringFromPoint()
。
point.x是一个浮点数,所以你应该使用:
NSLog(@"x: %f", point.x);
记录CGPoint
值的最简单方法是使用NSValue
类,因为它会为您提供所有相关的值,并以控制台友好的格式呈现。步骤如下:
NSLog(@"myPoint = %@", [NSValue valueWithCGPoint:myPoint]);
当你想要记录一个UIView
的frame
(CGRect
)或者size
(CGSize
)属性时,你还可以使用NSValue
的+valueWithCGRect
和+valueWithCGSize
方法。
NSLog(@"点的坐标为:%f,%f", point.x, point.y);
point.x
是一个浮点数,因此你应该这样编码:
NSLog(@"%@",[NSString StringWithFormat:@"%f",point.x]);
使用:
NSLog(@"%@", NSStringFromCGPoint(point));
你也可以使用NSString来获取以下信息:
NSStringFromCGPoint
NSStringFromCGSize
NSStringFromCGRect
NSStringFromCGAffineTransform
NSStringFromUIEdgeInsets
最新语法:
NSLog("%@", NSCoder.string(for: point!))