2009-09-25 4 views
78

내가 터치 할당되고있는 CGPoint라는 점 있습니다NSLog CGPoint와 데이터

UITouch *touch = [touches anyObject]; 

CGPoint point = [touch locationInView:self]; 

내가 내 콘솔 로그에 x 좌표 값을 얻으려면을 :

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

내가 사용하는 이에 대한이, 로그 출력은 다음과 같습니다

는 X

: 그 점을 확인했습니다 (널)

때 생 null가 아닌 디버거와 가변 시계를 사용하여 호출됩니다.

감사 어떤 도움,

감사합니다 // :)

답변

239

하는 CGPoint를 기록하는 가장 쉬운 실제 방법은 다음과 같습니다

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

데스크톱 코코아 상당 NSStringFromPoint()입니다.

+0

. 첫 번째 대답은 가장 쉽고 가벼운 무게 방법입니다. 그러나 이것은 하나의 세트에서 CGPoint로부터 x와 y를 얻습니다.멋진 :) 큰 도구 :) – Spanky

+0

StackOverflow가 내 RSS 피드에서이 질문을 다시 소개하기에 적합하므로 내 일반적인 솔루션을 포주로 사용할 수도 있습니다. http://jens.ayton.se/blag/almost-elegant-cave-man- 디버깅 /은'JA_DUMP (point);'를 쓸 수 있고 포맷 코드에 대해 걱정할 필요없이 "point = {43, 96}"을 기록 할 수 있습니다. –

+0

I386에서는 컴파일되었지만 ARM에서는 컴파일되지 않았기 때문에 어떻게 lib를 사용합니까? 내가 사용하는 iOS 프로젝트에서 어떻게 작동합니까? –

25

point.x 사용한다, 그래서 부동 소수점 수는있다 :

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

가장 간단한 방법은 CGPoint 값을 기록 NSValue 클래스를 사용하는 것입니다. 콘솔에 대해 적절히 포맷 된 모든 관련 값을 제공 할 것이기 때문입니다. 그것은과 같이 이루어집니다 : 당신은 또한 당신이 말, 로그인을 시도 할 때, NSValue+valueWithCGRect+valueWithCGSize 방법을 사용하십시오 UIViewframe (CGRect) 또는 size (CGSize) 속성 수

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

. 사실

0

point.x 그래서 당신은 다음과 같이 코딩해야 부동 소수점 수 입니다 :

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

.... 또는 NSLog (@"% f ", point.x)' –

+0

만약 당신이 원하는 문자열 값을 의미 u는 그냥 이것을 사용! –

+4

형식 문자열 내에서 불필요한 형식 문자열을 사용하고 있습니다. Philippe와 Ahruman의 접근 방식은 훨씬 간단하며 똑같은 결과를 얻을 수 있습니다. –

1

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

0

사용 :

NSLog ("%의 @"@, NSStringFromCGPoint (점));

당신은 또한 다음과 같은 정보를 원하시면있는 NSString을 사용할 수 있습니다 : 이것은 더 나은입니다

NSStringFromCGPoint
NSStringFromCGSize
NSStringFromCGRect
NSStringFromCGAffineTransform
NSStringFromUIEdgeInsets