raggiunto mentre il popover è ancora visibile
-
25-09-2019 - |
Domanda
-(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];
}
Quando faccio clic sul pulsante, l'app si arresta in modo anomalo e ho ottenuto [UIPopoverController dealloc] reached while popover is still visible.
Messaggio.
Soluzione
pensare autorelease è corretto, qui è un tutorial
http: //www.jannisnikoy. nl / index.php / 2010-a-popoverviewcontroller ipad dimostrativi-creazione
/ 04 /Altri suggerimenti
Ci sono alcune belle discussioni su questo argomento qui:
UIPopoverController e gestione della memoria
Il succo è che devi:
- assegna il tuo popover rilasciato automaticamente a una proprietà di conservazione
- imposta la proprietà su nil nel dealloc della tua vista
- oltre a impostarlo su zero nel popoverControllerDidDismissPopover.
problema che è sta impostando
settingpopoverController =
quando si intende fare
self.settingpopoverController =
per i quali l'autorelease sarebbe corretto. La seconda utilizza i accesso alle proprietà, il primo utilizza solo l'iVar.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow