2011-10-27 5 views
1

NSLog 문에 Objective-C 도트 연산자를 사용하여 두 값을 인쇄하려면 다음과 같이하면됩니다.NSLog 문에 Objective-C 도트 연산자 두 개를 나열 하시겠습니까?

NSLog(@"The height is %i and the width is %i", myRect.height, myRect.width); 

그러나 높이와 너비 만 표시 할 수있는 방법이 있습니다. 한 번 myRect? 결국, 그들은 같은 대상과 클래스에서 왔습니다. 어떤 종류의 속기가 그렇게 있습니까?

NSLog(@"The height is %i and the width is %i", myRect.height, width); 

PS. 위의 코드가 작동하지 않는다는 것을 알고 있지만 위의 코드와 비슷한 기능을 제공하지 못하고 있습니까?

+4

아니요, 이와 같은 속기가 없습니다. – Luke

+0

나는 이것을 허용 할 어떤 OO 언어도 생각하지 않는다. 파이썬에서 이것을 할 수 있다고 말하지 마십시오 :) – Shahzeb

+0

'myRect'의 타입은 무엇입니까? 나만의 맞춤형 또는 코코아 유형? –

답변

1

는 아니, 속기가 없습니다.

한 개체에서 많은 필드에 액세스 할 때 개체의 로컬 변수에 매우 짧은 이름을 사용할 수 있으므로 예를 들어 r.width, r.height 만 얻을 수 있습니다. 가정 myRect

+0

알았어, 고마워! 나는 단지 궁금했다. –

2

당신은 당신의 자신의 도우미 루틴을 쓸 수 있습니다 그리고 다시. 대신이 쓰고 싶었다 경우도 rectangle 클래스의 방법으로이 문제를 추가 할 수 있습니다

r.ReportDimensions(); 
+0

이것은 재미있어 보입니다. 나는 전에 도우미 루틴을 사용하거나 쓰지 않았습니다. 나는 그것을 조사해야 할 것이다. 고마워요! –

2

유형 CGSize이다 (그 이후 유일하게 내장 즉시 heightwidth 회원을 보유 타입), 다음 은 YES가 :

또한 NSStringFromCGSize있다
NSLog(@"myRect: %@", NSStringFromCGSize(myRect)); 

, NSStringFromCGPoint 등 이것은 회원 추출을 수행하는 내장 함수입니다.

+0

NSSize를 잊지 마라. –

+0

감사합니다. 그러나 이것이 내가 성취하고자했던 것이라고 생각하지 않습니다. –

관련 문제