Je vous assure que j'ai cherché une réponse dans SO pour ma question, mais aucune n'a été utile. Ici, j'ai un code simple qui devrait présenter un UIImagePickerController
dans 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];
}
Maintenant, même dès la première fois que je suis [UIPopoveController dealloc]
atteint alors que ... une erreur et le programme se bloque. Je ne fais aucune rétention, relase ou autoreleases selon l'ARC. Y a-t-il une considération particulière UIPopoverControllers
lorsque vous bénéficiez de l'ARC?
la source
Lorsque la fonction se termine, il n'y a aucune autre référence au contrôleur de popover, il est donc désalloué trop tôt.
Essayez plutôt de l'ajouter en tant que membre de votre classe.
Tim
la source
En ajoutant ce que @ phix23 a répondu, créez la propriété * poc comme ceci:
puis changez
pour
la source