Почему мой метод получения свойств вызывает ошибку NSZombie?

У меня есть служебный объект JSONNetworkUtility, и я сохраняю его в своей модели как ivar, а также синтезированное свойство с тем же именем, неатомарное и сохраненное:

myNetworkUtility = [[JSONNetworkUtility alloc] initNetworkConnectionWithURL:urlString withQueryString:nil delegate:self];

Делегат включает два обратных вызова, один - networkUtility: didFailWithError: , а другой - networkUtility: didFinishWithData: . Странно то, что свойство вызывает некоторые странные ошибки:

- (void)networkUtility:(JSONNetworkUtility *)networkUtility didFinishWithData:(NSArray *)jsonArray
{
    NSLog(@"myNetworkUtility = %@", myNetworkUtility);
    // returns <JSONNetworkUtility: 0x3944450>

    NSLog(@"networkUtility = %@", networkUtility);
    // also returns <JSONNetworkUtility: 0x3944450>

    NSLog(@"self.myNetworkUtility = %@", self.myNetworkUtility);
    // fails and throws an NSZombie error!
}

Ошибка, которую я получаю в этой строке:

*** - [MyModel myNetworkUtility]: сообщение отправлено в освобожденный экземпляр 0x148190

Я полностью в тупике! Есть какие-нибудь подсказки относительно того, почему он не работает на геттере? И почему он возвращает совершенно другой объект?

Причина, по которой я использую геттер, заключается в том, что я хотел использовать self.myNetworkUtility = nil , чтобы я мог писать поверх свойства с помощью новый объект, но я сократил его до этой трассировки, и у меня все еще возникают проблемы ...

Спасибо!

0
задан jowie 13 October 2011 в 14:37
поделиться