Je ne suis pas très clair sur les modèles de propriété d'objet requis pour les instances suivantes. Lorsque mon UIViewController présente un contrôleur de survol, une feuille d'action ou un autre contrôleur de vue comme modal, dois-je conserver une référence conservée à ce contrôleur enfant jusqu'à ce qu'il soit rejeté? En d'autres termes, est-ce que les lignes de code suivantes "transfèrent" effectivement la propriété, ou pas?Conserver/libérer le modèle pour les contrôleurs UIPopoverController, UIActionSheet et modal view?
[aPopoverController presentPopoverFromBarButtonItem:someButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:NO];
[anActionSheet showFromBarButtonItem:someButtonItem animated:NO];
[aViewController presentModalViewController:someOtherViewController animated:YES];
Quelqu'un peut-il me diriger vers une documentation explicite à ce sujet?
Attention, searchVC fuit si vous le faites de cette façon. Ajouter une autorelease. – steipete
Oui, searchVC a fui. Au lieu d'une autorelease, une version simple fonctionnera également. Ajouter ceci à la dernière ligne: '[searchVC release];' –
Comme la documentation pour 'popoverControllerDidDismissPopover:' dit: _ "Le contrôleur popover n'appelle pas cette méthode en réponse aux appels programmatiques à la méthode dismissPopoverAnimated: Si vous rejeter le popover par programme, vous devez effectuer toutes les actions de nettoyage immédiatement après avoir appelé la méthode dismissPopoverAnimated: ". Donc, si vous utilisez 'dismissPopoverAnimated:' vous devrez également appeler la version après, sinon vous aurez une fuite. – ivanzoid