1 votes

Fuite bizarre lors de l'utilisation de [NSStringObject UTF8String].

J'ai cette fonction :

-(void) debugPrint
{
    printf("name: %s", [_name UTF8String]);
}

Cela entraîne une erreur d'exécution :

[La session a débuté le 2009-03-21 15:02:26 -0700.] 2009-03-21 15:02:26.319 TGui [20063:10b] *** _NSAutoreleaseNoPool() : L'objet 0x10a290 de la classe NSCFData est autoreleased sans pool en place - juste une fuite. Pile : (0x9234c73f 0x92258e32 0x9226d505 0x9226d0e1 0x2406 0x22ce 0x20be) nom : nom

Ce qui est bizarre, c'est que lorsque je fais [_name cString], cela fonctionne bien.

2voto

mipadi Points 135410

Le fil d'exécution sur lequel vous appelez cette méthode n'a pas d'objet NSAutoreleasePool Les objets libérés automatiquement n'ont donc pas de pool. Vous devez configurer un NSAutoreleasePool pour chaque fil. L'introduction pour le NSAutoreleasePool explique cette idée plus en détail.

0voto

Sam Lee Points 1671

Oups--Je mettais le tout à debugPrint dans main(), avant l'appel à "return NSApplicationMain(argc, (const char **) argv) ;". Cela a causé des problèmes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X