두 개의 개체와 float를 매개 변수로 사용하는 정적 메서드가 있습니다. 객체는 모두 정상이지만 부동 변수는 손실됩니다. 다음은 테스트 사례입니다.Objective-C 정적 메서드 문제
+ (void) someFunctionWithSomething: (xmlNodePtr *) node {
CGFloat fsize = 0;
if (fsize == 0) {
fsize = 15.0f;
}
NSLog (@"size1: %f", fsize); // output is 15.00000
[MyClass getFontWithSize: fsize];
}
+ (void) getFontWithSize: (CGFloat) fsize {
NSLog (@"size2: %f", fsize); // output is 0.00000
}
어떻게 내 변수가 갑자기 0이 되었습니까? 이것은 정적 메서드 내에서 정적 메서드를 호출한다는 사실과 관련 될 수 있습니까? 나는 이것이 내가 여기에서 빠져있는 정말로 단순한 무엇인가라는 느낌을 가지고있다. 아이디어? 헤더 파일은 또한 당신의 정의와 일치 getFontWithSize
에 대한 프로토 타입을 가지고
오류의 원인이되는 실제 코드입니까? 두 개의 객체와 float을 사용하는 메소드가 있지만 하나의 객체와 float을 사용하지 않는 메소드를 제공한다고합니다. –
나는 기존의 [Objective-C Clarification; -/+ 및 * var] (http://stackoverflow.com/questions/406667/objective-c-clarification-and-var) 질문도 있습니다. :-) –
@middaparka, 포인터를 주셔서 감사합니다. – Shade