Problèmes avec NSDate hors de portée dans une application iphone.NSDate hors de portée
J'ai une interface définie comme ceci:
@interface MyObject : NSoObject {
NSMutableArray *array;
BOOL checkThis;
NSDate *nextDue;
}
Maintenant, dans la mise en œuvre je ceci:
-(id) init
{
if((self=[super init])) {
checkThis = NO;
array = [[NSMutableArray alloc] init];
nextDue = [[NSDate date] retain];
NSDate *testDate = [NSDate date];
}
return self;
}
Maintenant, si je trace à travers l'init, avant que je cède effectivement les variables checkThis montre comme booléen. tableau affiche comme pointeur 0x0 car il n'a pas été affecté. Mais le nextDue montre comme 'hors de portée'. Je ne comprends pas pourquoi c'est hors de portée mais les autres variables ne le sont pas.
Si je parcours le code jusqu'à ce que les variables soient affectées, le tableau indique maintenant qu'il est correctement affecté mais que nextDue est toujours hors de portée. Il est intéressant de noter que la variable testDate est correctement attribuée et que le débogueur indique cette date comme valide. Un autre point intéressant est que si je déplace la souris sur la variable testDate pendant que je débogue, elle apparaît comme un type 'NSDate *' auquel je m'attendais puisque c'est sa définition. Pourtant, le nextDue, qui pour moi est défini de la même manière, apparaît comme un '_NSCFDate *'. Tout ce que j'ai fait sur Google sur le sujet dit que la retenue est le problème, mais c'est vraiment hors de portée avant même que j'essaie d'assigner la variable.
Toutefois, dans une autre classe, la même définition de NSDate fonctionne correctement. Il apparaît comme nul avant qu'une valeur lui soit affectée. Arghhh