이 메서드를 실행할 때 if 문 외부에서 액세스하려고하면 (NULL)로 설정된 두 속성이 설정됩니다. 하지만 그들은 if 문 내부에서 검사하면 0과 NO로 설정됩니다.예상되는 것보다 다른 결과가 init 메소드에서 나옵니다. 왜 이런 일이 일어나고 어떻게 해결할 수 있습니까?
-(id) init
{
NSLog(@"Jumping into the init method!");
if (self = [super init]) {
NSLog(@"Running the init method extras");
accumulator = 0;
NSLog(@"self.accumulator is %g", accumulator);
decimal = NO;
}
NSLog(@"Calc after init is: %@ and %@", self.accumulator, self.decimal);
return self;
}
무엇이 나오는지에 대한 제안은 for 루프에서 수행 된 것과 다릅니다.
무엇'for' 루프 (그것은 그렇지 않으면
%@
의 아마 충돌 것입니다.. 단지뿐만 아니라 그들이 어쨌든 제로 것입니다)? –잡기에 감사드립니다. if 문을 수정했습니다. –