-(void)showsearch:(id)sender { SearchViewController *searchview =[[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil]; settingpopoverController = [[[UIPopoverController alloc] initWithContentViewController:searchview] autorelease]; [searchview release]; [settingpopoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; }
Когда я нажимаю на кнопку, приложение закрывается, и я получаю сообщение [UIPopoverController dealloc] reached while popover is still visible..
[UIPopoverController dealloc] reached while popover is still visible.
Здесь есть несколько хороших обсуждений по этой теме:
Сохранить / разблокировать шаблон для UIPopoverController, UIActionSheet и контроллеров модального представления?
UIPopoverController иуправление памятью
Суть в том, что вам необходимо:
Проблема в том, что вы устанавливаете
settingpopoverController =
когда вы хотите сделать
self.settingpopoverController =
для которого авто-релиз будет правильным. Второй использует методы доступа к свойствам, первый использует только iVar.
думаю, что авто-релиз неправильный, вот учебник
http://www.jannisnikoy.nl/index.php/2010/04/ipad-tutorial-creating-a-popoverviewcontroller