Salut,
Je débute dans la programmation Cocoa avec le livre "Cocoa par la pratique" et j'ai vraiment un problème avec NSLog pour afficher un objet. Qui pourra me dire pourquoi ce bout de code ne fonctionne pas ?
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSMutableArray * tableau = [[NSMutableArray alloc] init];
NSNumber * nbr;
int i;
for (i = 0; i < 10; i++)
{
[nbr = [NSNumber alloc] initWithInt
3*i)];
NSLog(@"L'element %d vaut %@", i, nbr);
[tableau addObject:nbr];
[nbr release];
}
// NSLog(@"tableau = %@", tableau);
[tableau release];
[pool release];
return 0;
}
C'est pourtant pas compliqué mais il y a une erreur d'exécution dans la boucle sur NSLog :
2003-02-12 00:36:36.622 Loterie[9538] Did you forget to nest alloc and init?
2003-02-12 00:36:36.630 Loterie[9538] *** Uncaught exception: <NSInvalidArgumentException> *** -objCType only defined for abstract class. Define -[NSPlaceholderNumber objCType]!
Je vous jure que "nbr" n'est pas nul. D'après le débuggeur, l'execution tente d'appeler [NSNumber descriptionWithLocale:] qui appelle [NSPlaceholderNumber objCType] ce qui lève une exception.
Qu'est ce qui ne va pas ?
D'avance, merci pour votre aide.
Je débute dans la programmation Cocoa avec le livre "Cocoa par la pratique" et j'ai vraiment un problème avec NSLog pour afficher un objet. Qui pourra me dire pourquoi ce bout de code ne fonctionne pas ?
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSMutableArray * tableau = [[NSMutableArray alloc] init];
NSNumber * nbr;
int i;
for (i = 0; i < 10; i++)
{
[nbr = [NSNumber alloc] initWithInt
NSLog(@"L'element %d vaut %@", i, nbr);
[tableau addObject:nbr];
[nbr release];
}
// NSLog(@"tableau = %@", tableau);
[tableau release];
[pool release];
return 0;
}
C'est pourtant pas compliqué mais il y a une erreur d'exécution dans la boucle sur NSLog :
2003-02-12 00:36:36.622 Loterie[9538] Did you forget to nest alloc and init?
2003-02-12 00:36:36.630 Loterie[9538] *** Uncaught exception: <NSInvalidArgumentException> *** -objCType only defined for abstract class. Define -[NSPlaceholderNumber objCType]!
Je vous jure que "nbr" n'est pas nul. D'après le débuggeur, l'execution tente d'appeler [NSNumber descriptionWithLocale:] qui appelle [NSPlaceholderNumber objCType] ce qui lève une exception.
Qu'est ce qui ne va pas ?
D'avance, merci pour votre aide.