Уверяю вас, что я искал ответ в SO на свой вопрос, но ни один из них не помог. Вот простой код, который должен UIImagePickerController
содержать UIPopoverController
:
-(void)takePicture:(id)sender{
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
picker.allowsEditing=YES;
UIPopoverController *poc=[[UIPopoverController alloc]
initWithContentViewController:picker];
[poc presentPopoverFromBarButtonItem:bbItem
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:NO];
}
Теперь даже с первого раза до меня [UIPopoveController dealloc]
добрались, пока ... ошибка и программа вылетает. Я не занимаюсь сохранением, выпуском или автоматическим выпуском в соответствии с ARC. Есть ли какие-то особые соображения UIPopoverControllers
при использовании ARC?
источник
Когда функция завершается, других ссылок на контроллер всплывающего окна нет, поэтому он освобождается слишком рано.
Попробуйте вместо этого добавить его как члена вашего класса.
Тим
источник
Добавляя то, что ответил @ phix23, создайте свойство * poc следующим образом:
а затем изменить
для
источник