[Résolu]addObject: et unused variable

CrazyJoCrazyJo Membre
janvier 2009 modifié dans API AppKit #1
Hello,

Je m'explique ...

Type de projet : Fondations Tools

Voici une classe maClasse.h :
#import &lt;Cocoa/Cocoa.h&gt;<br />@interface maClasse : NSObject {<br />	NSMutableArray *datesList;<br />}<br />- (void)addNewDateWithTitle:(NSString *)title;<br />@end


Voici son implémentation :
<br />#import &quot;maClasse.h&quot;<br /><br /><br />@implementation maClasse<br />- (id)init{<br />	<br />	if (! [super init]) {<br />		return nil;<br />	}<br />	<br />	NSLog(@&quot;Init maClasse&quot;);<br />	NSMutableArray *datesList = [[NSMutableArray alloc]init];&nbsp; // Warning unused variable !!!!<br />	return self;<br />}<br /><br />- (void)addNewDateWithTitle:(NSString *)title {<br />	<br />	[datesList addObject:[NSDate date]];<br />	NSLog(@&quot;Date add&quot;);<br />	NSLog(@&quot;Number of date: %i&quot;,[datesList count]);<br />}<br /><br />@end<br /><br />


et le .m du projet :
<br />#import &lt;Foundation/Foundation.h&gt;<br />#import &quot;maClasse.h&quot;<br />int main (int argc, const char * argv&#91;]) {<br />&nbsp; &nbsp; NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];<br /><br />&nbsp; &nbsp; // insert code here...<br />&nbsp; &nbsp; NSLog(@&quot;Hello, World!&quot;);<br />	<br />	maClasse *object = [[maClasse alloc]init];<br />	<br />	int i;<br />	for (i = 0; i&lt;10; i++) {<br />		[object addNewDateWithTitle:@&quot;test&quot;];<br />	}<br />&nbsp; &nbsp; [pool drain];<br />&nbsp; &nbsp; 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  o:)

Réponses

  • mpergandmpergand Membre
    06:28 modifié #2
    Et oui, le compilo a raison  ;)

    Tu déclares 2 instances de dataList ...
    Et si tu fais NSLog(@%@",dataList) ça donne.... nil  :)
  • CrazyJoCrazyJo Membre
    06:28 modifié #3
    dans 1231611542:

    Et oui, le compilo a raison   ;)

    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. :o merci
Connectez-vous ou Inscrivez-vous pour répondre.