Результаты применения метода init отличаются от ожидаемых. Почему это происходит и как я могу это исправить? - PullRequest
1 голос
/ 18 мая 2010

Когда я запускаю этот метод, два свойства, которые у меня есть, устанавливаются в (NULL), когда я пытаюсь получить доступ к ним вне оператора if. Но они установлены в 0 и НЕТ, если я проверю их в операторе if.

-(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?

1 Ответ

4 голосов
/ 18 мая 2010

Спецификаторы формата отличаются: вы форматируете как %@ (объект) во втором случае, %g (число) в первом.

(В любом случае, они также равны нулю. В противном случае %@ s, вероятно, потерпит крах.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...