Как уже упоминалось в нескольких местах, методы, которые представляют всплывающее окно (либо из прямоугольника, либо с помощью кнопки панели инструментов), не сохраняют всплывающее окно.Итак, ваш контроллер представления должен содержать ссылку на него и освобождать его в соответствующее время.
Вы можете сделать это, установив контроллер представления в качестве делегата поповерса, как уже упоминалось.Более простой, хотя и немного менее эффективный, способ памяти заключается в объявлении свойства retain для хранения UIPopoverController.Когда вы создаете поповер, вы назначаете его свойству, которое сохраняет его.Если позднее вы создадите другой поповер, он освободит предыдущий поповер при переназначении свойства.Не забудьте освободить свойство в методе dealloc контроллера представления (а также в viewDidUnload).
Этот подход не протечет, и вам не нужно иметь дело с делегатами.Но вы потенциально можете хранить объект UIPopoverController дольше, чем необходимо.Вам решать, является ли это проблемой для вашего приложения.