Ce est la magie de NSAutoreleasePool en Objective-C/cocoa framework?

J'ai trouvé un exemple d'Objective-C/cocoa framework a le code suivant.

int main()
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    //Create an array
    NSArray *month = [NSArray arrayWithObjects:@ ... nill];

    [pool drain];
}
  • Q1 : Quelle est la magie de ce (Pourquoi ai-je besoin d'avoir le NSAutoreleasePool code?)? Ce qu'est la magie qui se passe entre les NSAutoreleasePool et pool drain bloc? Je vois que je n'avez pas besoin de libération*month moi-même. Est-ce parce que c'est à l'intérieur de la NSAutoreleasePool et pool drain bloc?

  • T2 : Avec Xcode, je suis déjà donné à la fonction main (). Dans ce cas, comment puis-je utiliser le NSAutoreleasePool et pool drain?

Par exemple :

int main(int argc, char *argv[])
{
    //NSAutoreleasePool *pool = [[[NSAutoreleasePool] alloc] init];
    return NSApplicationMain(argc,  (const char **) argv);
}
InformationsquelleAutor prosseek | 2011-02-28