Sono in qualche modo poco chiaro sui modelli di proprietà degli oggetti richiesti per le seguenti istanze. Quando il mio UIViewController presenta un controller popover, un foglio azioni, o un altro controller vista come modale, sono obbligato a rimanere su un riferimento mantenuto a quel controller figlio fino a quando non viene rimosso?Mantieni/rilascia pattern per UIPopoverController, UIActionSheet e controller di visualizzazione modali?
In altre parole, le seguenti righe di codice "trasferiscono" effettivamente la proprietà o no?
[aPopoverController presentPopoverFromBarButtonItem:someButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:NO];
[anActionSheet showFromBarButtonItem:someButtonItem animated:NO];
[aViewController presentModalViewController:someOtherViewController animated:YES];
Qualcuno può indicarmi una documentazione esplicita su questo argomento?
Attenzione, searchVC perde se lo fai in questo modo. Aggiungi un autorelease. – steipete
Sì, searchVC è trapelato. Invece di un'autorelease, funzionerà anche una semplice versione. Aggiungere questo per l'ultima riga: '[rilascio searchVC];' –
come documentazione per 'popoverControllerDidDismissPopover:' dice: _ "Il controller popover non significa chiamare questo metodo in risposta agli inviti programmatiche al dismissPopoverAnimated: metodo se si. chiudere il popover a livello di codice, è necessario eseguire qualsiasi azione di pulizia immediatamente dopo aver chiamato il metodo dismissPopoverAnimated: "_. Quindi, se si utilizza 'dismissPopoverAnimated:' è necessario chiamare anche la versione successiva, altrimenti si otterrà una perdita. – ivanzoid