No estoy del todo claro sobre los patrones de propiedad del objeto requeridos para las siguientes instancias. Cuando mi UIViewController presenta un controlador de popover, una hoja de acción u otro controlador de vista como modal, ¿debo suspender una referencia retenida a ese controlador hijo hasta que se haya descartado?Conservar/liberar patrón para UIPopoverController, UIActionSheet y controladores de vista modal?
En otras palabras, ¿las siguientes líneas de código efectivamente "transfieren" la propiedad, o no?
[aPopoverController presentPopoverFromBarButtonItem:someButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:NO];
[anActionSheet showFromBarButtonItem:someButtonItem animated:NO];
[aViewController presentModalViewController:someOtherViewController animated:YES];
¿Alguien me puede indicar documentación explícita sobre este tema?
Cuidado, searchVC está goteando si lo haces de esta manera. Agregue una liberación automática. – steipete
Sí, se filtró searchVC. En lugar de una liberación automática, una simple versión también funcionará. Agregue esto a la última línea: '[searchVC release];' –
Como documentación para 'popoverControllerDidDismissPopover:' dice: _ "El controlador popover no llama a este método en respuesta a llamadas programáticas al método dismissPopoverAnimated: Si descarte el popover mediante programación, debe realizar cualquier acción de limpieza inmediatamente después de llamar al método dismissPopoverAnimated: "_. Así que si utiliza 'dismissPopoverAnimated:' también deberá llamar a la versión posterior, de lo contrario, obtendrá una filtración. – ivanzoid