我有一个名为CGPoint的点被分配了一个触摸:
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
我想将x坐标值放入我的控制台日志中:
NSLog(@"x: %s", point.x);
当我使用它时,日志输出为:
x :( null)
我已经验证,当使用调试器和变量监视调用它时,该点不为空。
任何帮助表示赞赏,
谢谢//:)
答案 0 :(得分:254)
实际上,记录CGPoint
的最简单方法是:
NSLog(@"%@", NSStringFromCGPoint(point));
桌面Cocoa等价物是NSStringFromPoint()
。
答案 1 :(得分:24)
point.x是浮点数,因此您应该使用:
NSLog(@"x: %f", point.x);
答案 2 :(得分:9)
记录CGPoint
值的最简单方法是使用NSValue
类,因为它将为您提供适合控制台格式化的所有相关值。它是这样完成的:
NSLog(@"myPoint = %@", [NSValue valueWithCGPoint:myPoint]);
当您尝试记录+valueWithCGRect
(+valueWithCGSize
)或NSValue
时,也可以使用frame
的{{1}}和CGRect
方法size
的{{1}}(CGSize
)个属性。
答案 3 :(得分:1)
NSLog(@"point x,y: %f,%f", point.x, point.y);
答案 4 :(得分:0)
point.x
是一个浮点数
所以你应该像这样编码:
NSLog(@"%@",[NSString StringWithFormat:@"%f",point.x]);
答案 5 :(得分:0)
使用:
NSLog(@"%@",NSStringFromCGPoint(point));
您还可以使用NSString获取以下信息:
NSStringFromCGPoint
NSStringFromCGSize
NSStringFromCGRect
NSStringFromCGAffineTransform
NSStringFromUIEdgeInsets