NSLog与CGPoint数据

我有一个被称为点的CGPoint被分配一个触摸:

UITouch *touch = [touches anyObject]; CGPoint point = [touch locationInView:self]; 

我想获得x坐标值到我的控制台日志中:

 NSLog(@"x: %s", point.x); 

当我使用这个时,日志输出是这样的:

x:(null)

我已经validation,当使用debugging器和variables监视来调用这个点时,这个点不是空的。

任何帮助感激,

谢谢 // :)

6 Solutions collect form web for “NSLog与CGPoint数据”

其实,loggingCGPoint最简单的方法是:

 NSLog(@"%@", NSStringFromCGPoint(point)); 

桌面cocoa等价物是NSStringFromPoint()

point.x是一个浮点数,所以你应该使用:

 NSLog(@"x: %f", point.x); 

logging一个CGPoint值最简单的方法是使用NSValue类,因为它会给你所有相关的值,为控制台很好地格式化。 这样做是这样的:

 NSLog(@"myPoint = %@", [NSValue valueWithCGPoint:myPoint]); 

当您尝试loggingUIViewframeCGRect )或sizeCGSize )属性时,也可以使用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

  • 警告:“格式不是string文字和格式参数”
  • iOS AutoLayout - 获取框架大小的宽度
  • NSInteger的NSLog / printf说明符?