我有一个名为 point 的 CGPoint,它被分配了一个触摸:
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
我想将 x 坐标值放入我的控制台日志中:
NSLog(@"x: %s", point.x);
当我使用它时,日志输出是:
x:(空)
当使用调试器和变量 watch 调用它时,我已经验证了该点不为空。
任何帮助表示赞赏,
谢谢 // :)
实际上,记录 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(@"point x,y: %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!))
JA_DUMP(point);
并记录“point = { 43, 96 }”,而不必担心格式代码。