Вы должны создать, показать и выпустить предупреждение за пределами NSAutoreleasePool
.Например, вы делаете свой вызов в фоновом режиме:
...
[NSThread detachNewThreadSelector:@selector(showWaiting) toTarget:self withObject:nil];
...
И вызов имеет пул авто-релиза:
- (void)showWaiting {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[self performSelectorInMainThread:@selector(showMyAlert) withObject:nil waitUntilDone:NO];
//[waitingAlert show];
[pool drain];
}
Затем вы должны показать предупреждение, используя основной поток.
- (void)showMyAlert {
UIAlertView * myAlert = [[UIAlertView alloc] initWith...];
[myAlert show];
[myAlert release];
}
Если вы попытаетесь отобразить предупреждение в пуле автоматического выпуска, и оно будет очищено, то оповещение исчезнет.
Надеюсь, это поможет!