Есть много вещей, которые могут помешать этому коду.
Я предполагаю, что свойство сохраняет значение, тогда вам не следует присваивать значение, как вы делаете сейчас, но больше похоже на:
NSMutableArray *temp = [[NSMutableArray alloc] initWithArray:[defaults arrayForKey:UNSENT]];
self.unsentPatients = temp;
[temp release], temp = nil;
или
self.unsentPatients = [[[NSMutableArray alloc] initWithArray:[defaults arrayForKey:UNSENT]] autorelease];
Вам также следует избегать использования синтаксиса self.
в dealloc или init, который вызовет mutator
.В многопоточной среде это может вызвать проблемы.
Таким образом, правильная сделка будет:
- (void) dealloc {
[unsentPatients release], unsentPatients = nil;
[super dealloc][;
}