[Résolu]addObject: et unused variable
CrazyJo
Membre
Hello,
Je m'explique ...
Type de projet : Fondations Tools
Voici une classe maClasse.h :
Voici son implémentation :
et le .m du projet :
Le résultat obtenu :
Je ne comprends pas pourquoi j'ai toujours un nombre de dates égal à 0 alors que j'ai fais 10 insertions. Autre chose étrange (et sûrement en rapport avec le problème) ; un warning "unused variable " pour datesList. Pourtant il est utilisé !
Pouvez - vous m'éclairez ? Ca fait un moment que je suis dessus et ça à l'air tellement con que j'en peux plus...
Merci
Je m'explique ...
Type de projet : Fondations Tools
Voici une classe maClasse.h :
#import <Cocoa/Cocoa.h><br />@interface maClasse : NSObject {<br /> NSMutableArray *datesList;<br />}<br />- (void)addNewDateWithTitle:(NSString *)title;<br />@end
Voici son implémentation :
<br />#import "maClasse.h"<br /><br /><br />@implementation maClasse<br />- (id)init{<br /> <br /> if (! [super init]) {<br /> return nil;<br /> }<br /> <br /> NSLog(@"Init maClasse");<br /> NSMutableArray *datesList = [[NSMutableArray alloc]init]; // Warning unused variable !!!!<br /> return self;<br />}<br /><br />- (void)addNewDateWithTitle:(NSString *)title {<br /> <br /> [datesList addObject:[NSDate date]];<br /> NSLog(@"Date add");<br /> NSLog(@"Number of date: %i",[datesList count]);<br />}<br /><br />@end<br /><br />
et le .m du projet :
<br />#import <Foundation/Foundation.h><br />#import "maClasse.h"<br />int main (int argc, const char * argv[]) {<br /> NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];<br /><br /> // insert code here...<br /> NSLog(@"Hello, World!");<br /> <br /> maClasse *object = [[maClasse alloc]init];<br /> <br /> int i;<br /> for (i = 0; i<10; i++) {<br /> [object addNewDateWithTitle:@"test"];<br /> }<br /> [pool drain];<br /> return 0;<br />}<br />
Le résultat obtenu :
2009-01-10 18:51:50.634 b[2557:10b] Hello, World!
2009-01-10 18:51:50.655 b[2557:10b] Init maClasse
2009-01-10 18:51:50.657 b[2557:10b] Date add
2009-01-10 18:51:50.657 b[2557:10b] Number of date: 0
2009-01-10 18:51:50.657 b[2557:10b] Date add
2009-01-10 18:51:50.658 b[2557:10b] Number of date: 0
2009-01-10 18:51:50.658 b[2557:10b] Date add
[...]
2009-01-10 18:52:10.412 b[2558:10b] Date add
2009-01-10 18:52:10.416 b[2558:10b] Number of date: 0
Je ne comprends pas pourquoi j'ai toujours un nombre de dates égal à 0 alors que j'ai fais 10 insertions. Autre chose étrange (et sûrement en rapport avec le problème) ; un warning "unused variable " pour datesList. Pourtant il est utilisé !
Pouvez - vous m'éclairez ? Ca fait un moment que je suis dessus et ça à l'air tellement con que j'en peux plus...
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu déclares 2 instances de dataList ...
Et si tu fais NSLog(@%@",dataList) ça donne.... nil
Arf... j'y crois pas. Non ! Plus d'1 heure que je blocais là -dessus ! Vraiment je suis désolé de vous avoir dérangé pour ça. merci