У меня есть @property(nonatomic,retain) UIPopoverController * popoverController;
UIPopover релиз IOS
Я создаю мой поповер в моем классе реализации.
Я использую это:
- (void)createPopover:(NavigationController *)tempNavigation {
UIPopoverController *tempPopover = [[UIPopoverController alloc] initWithContentViewController:tempNavigation];
self.popoverController = tempPopover;
[self.popoverController setPopoverContentSize:CGSizeMake(width, height)];
tempPopover.delegate = self;
CGRect selectedRect = [self.tableView rectForRowAtIndexPath:indexPath];
[tempPopover presentPopoverFromRect:selectedRect inView:self.tableView permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
[tempPopover release];
}
в этом методе я должен выпустить мой поповер
я использую это:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (popoverController) {
[popoverController dismissPopoverAnimated:NO];
self.popoverController=nil;
[popoverController release];
}
return YES;
}
Мой вопрос: это правильный путь, чтобы освободить поповер в этом метод. Или я должен освободить popover только в методе dealloc?
Вы можете освободите сохраненный/выделенный объект в любом месте, если вы не пытаетесь получить доступ или освободить его снова. Так что это нормально – Lefteris
Сначала вы устанавливаете свойство Nil, затем вы отпускаете переменную экземпляра - обе будут эффективно освобождать popover, следовательно вы можете удалить один или другой – Till