web-dev-qa-db-ja.com

CGPointデータを含むNSLog

タッチが割り当てられているポイントと呼ばれるCGPointがあります。

UITouch *touch = [touches anyObject];

CGPoint point = [touch locationInView:self];

コンソールログにx座標値を取得したい:

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

これを使用すると、ログ出力は次のようになります。

x:(null)

これがデバッガーと変数監視を使用して呼び出されたときに、ポイントがnullではないことを確認しました。

どんな助けも感謝します、

おかげ// :)

92
Spanky

実際、CGPointを記録する最も簡単な方法は次のとおりです。

_NSLog(@"%@", NSStringFromCGPoint(point));
_

デスクトップCocoaに相当するものはNSStringFromPoint()です。

255
Jens Ayton

point.xは浮動小数点数なので、次を使用する必要があります。

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

CGPoint値をログに記録する最も簡単な方法は、NSValueクラスを使用することです。これは、コンソールに適切にフォーマットされた関連するすべての値を提供するためです。それは次のように行われます:

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

また、NSValueのプロパティ_frameCGRect)またはsizeCGSize)をログに記録するときに、UIView+valueWithCGRectおよび+valueWithCGSizeメソッドを使用することもできます。

9
Nathan de Vries

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

1
Nicki

point.xは浮動小数点数なので、次のようにコーディングする必要があります。

NSLog(@"%@",[NSString StringWithFormat:@"%f",point.x]);
0
Suresh

つかいます :

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

NSStringを次の情報にも使用できます。

NSStringFromCGPoint
NSStringFromCGSize
NSStringFromCGRect
NSStringFromCGAffineTransform
NSStringFromUIEdgeInsets

0
Aks