Les aseguro que busqué una respuesta en SO para mi pregunta, pero ninguna de ellas fue útil. Aquí tengo un código simple que debería presentar un UIImagePickerController
dentro de un 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];
}
Ahora, incluso desde la primera vez que me [UIPopoveController dealloc]
alcanzan mientras ... error y el programa se bloquea. No estoy reteniendo, retransmitiendo o liberando automáticamente según ARC. ¿Hay alguna consideración especial UIPopoverControllers
al beneficiarse de ARC?
fuente
Cuando la función sale, no hay otra referencia al controlador popover, por lo que se desasigna demasiado pronto.
Intente agregarlo como miembro de su clase.
Tim
fuente
Agregando lo que @ phix23 respondió, cree la propiedad * poc como esta:
y luego cambia
para
fuente