2010-06-09 4 views
1

나는이 코드를 실행하면 :Objective-C stringWithFormat에 인수가 누락 되었습니까?

- (NSString *)description{ 
    return [NSString stringWithFormat:@"(FROG idle:%i animating:%i rect:%@ position:%@ tongue:%@)", 
            self.idleTime, 
            self.animating, 
            NSStringFromCGRect(self.rect), 
            NSStringFromCGPoint(self.position), 
            tongue 
      ]; 
} 

나는 다음과 같은 출력을 얻을를 : 그것은 하나에 의해 대체 모두를 RECT 형식 문자열을 생략하고 배치하는 것 때문에

(FROG idle:0 animating:0 rect:(null) position:{{1,2}{3,4}} tongue:{5,6}) 

이것은 잘못된 것입니다. 그래서 유휴 상태와 애니 메이팅은 내가 기대하는 것입니다. 그리고 나서 rect는 건너 뛰지 만 NSStringFromCGRect (self.rect)의 결과가 위치에 놓이면 위치의 결과가 혀로 밀린 다음 혀가 전혀 표시되지 않습니다.

나는 손실에 처해있다.

답변

1

idleTime 및 animating에 대한 선언이 없으면 말할 수 없지만 둘 중 하나 또는 둘 다가 % i 지정자에 대해 잘못된 유형 일 수 있습니다. 아마도 idleTime은 double (NSTimeInterval)입니까?

실제 유형이 무엇인지에 따라, 당신은 그들이 int로 변환 할 수 있습니다 :

       (int)self.idleTime, 
           (int)self.animating, 
+0

답변했습니다. 나는 double 값이므로 nstimeinterval 형식 문자열을 % i에서 % a로 변경했습니다. 모두 고정! 감사! 나는 내가 조금 피곤했을지도 모른다라고 생각한다. –

1

self.rect 유효한 CGRect이 아니어야합니다. 자기가 틀림 없다고 확신합니까?

관련 문제