2010-10-11 6 views

Répondre

3

Libérer des objets est votre responsabilité, vous devez donc libérer le contrôleur de vue vous, que ce soit après avoir appelé presentModalViewController, ou un peu plus tard (non recommandé)

Par exemple:

MyController *controller = [[MyController alloc] init]; 

[self presentModalViewController:controller animated:YES]; 

// "controller" is automatically retained, so you can call release right away  

[controller release]; 

Appel dismissModalViewController plus tard va libérer le contrôleur retenu automatiquement.

+0

Phillip - merci. Cette ligne de code: [[Mycontroller alloc] initwithNib .... quel est le nombre de retenue sur cet objet - 1 ou 2? – GuybrushThreepwood

+0

Ce sera un, mais ce n'est pas grave. Pensez à la propriété de l'objet, ne retenez pas le nombre. Vous êtes toujours responsable de la libération de tout ce que vous avez attribué ou conservé. Toujours. –

+0

Dans l'exemple ci-dessus, pourquoi le "contrôleur" est-il automatiquement conservé? Je suis confus comment vous pouvez allouer le contrôleur dans la première ligne et ensuite relâcher tout de suite - ne le laisse-t-il pas avec un nombre de retenue de 0 qui le viderait? Je vous remercie. – GuybrushThreepwood

Questions connexes