93 我有一个CGPoint被称为触摸点: UITouch *touch = [touches anyObject]; CGPoint point = [touch locationInView:self]; 我想将x坐标值输入到我的控制台日志中: NSLog(@"x: %s", point.x); 当我使用它时,此的日志输出是: x :(空) 我已经验证了使用调试器和变量监视程序调用时,该点不为null。 任何帮助表示赞赏, 谢谢 // :) iphone cocoa cocoa-touch core-graphics nslog — 斯潘基 source
259 实际上,记录a的最简单方法CGPoint是: NSLog(@"%@", NSStringFromCGPoint(point)); 台式机的Cocoa等效于NSStringFromPoint()。 — 延斯·艾顿 source 这样更好。第一个答案是最简单,最轻便的方式。但是,这使我从CGPoint中获得了x和y的集合。尼斯:)很棒的工具:) — Spanky 由于StackOverflow可以在我的RSS Feed中重新提出这个问题,因此,我不妨提出我的一般解决方案:jens.ayton.se/blag/almost-elegant-cave-man-debugging,它使您可以JA_DUMP(point);获取“ point = { 43,96}”记录而不必担心格式代码。 — 詹斯·艾顿 由于它在I386上而不在ARM上编译,我该如何使用您的lib?我的意思是,如何使用它来处理iOS项目? — Dan Rosenstark 2010年 首先,您需要将FindAlignment.c文件构建为iOS应用并在设备(而非模拟器)上运行。然后,将结果复制到JAValueToString.m中第172行的#else之前的新#elif块中。如果这不起作用,则将需要其他调试。由于我不在iOS程序中,因此无法执行此操作。 — 詹斯·艾顿 3 还值得注意的是,NSStringFromCGRect()也存在。 — djskinner
9 记录CGPoint值的最简单方法是使用NSValue类,因为它将为您提供所有格式良好的控制台相关值。就像这样完成: NSLog(@"myPoint = %@", [NSValue valueWithCGPoint:myPoint]); 您也可以在尝试登录时使用+valueWithCGRect和+valueWithCGSize方法NSValue,例如,记录a的frame(CGRect)或size(CGSize)属性UIView。 — 内森·德弗里斯 source
0 point.x 是一个浮点数,因此您应该这样编写: NSLog(@"%@",[NSString StringWithFormat:@"%f",point.x]); — 阿伦 source 如果您想使用String值,则意味着您只需使用它! 4 您正在格式字符串中执行不必要的格式字符串。Philippe和Ahruman的方法要简单得多,并且可以达到完全相同的结果。 — 布拉德·拉尔森
0 用 : NSLog(@“%@”,NSStringFromCGPoint(point)); 您还可以将NSString用于以下信息: NSStringFromCGPoint NSStringFromCGSize NSStringFromCGRect NSStringFromCGAffineTransform NSStringFromUIEdgeInsets — 阿克斯 source