Я относительно новичок в iPhone Development, так что это может быть моя вина, но это противоречит тому, что я видел. :)
Я думаю, что я создаю UIAlertView, который живет как раз в этом вакууме оператора if.
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if(!data)
{
// Add an alert
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Unable to contact server"
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
NSLog(@"retain count before show: %i", alert.retainCount);
[alert show];
NSLog(@"retain count before release: %i", alert.retainCount);
[alert release];
NSLog(@"retain count after release: %i", alert.retainCount);
return nil;
}
Однако журналы консоли сбивают меня с толку.
retain count before show: 1
retain count before release: 6
retain count after release: 5
Я пробовал также добавить:
alert = nil;
после релиза. Это делает счет 0, но я все еще показываю утечку. И если это помогает, Ответственный Кадр утечки - UIKeyboardInputManagerClassForInputMode. Я также использую OS 4 Beta 3.
Так что у кого-нибудь есть идеи, как счетчик сохранений локального UIAlertView увеличится на 5 при вызове -show?
Спасибо за вашу помощь!