Je ne suis pas sûr de ce qui se passe avec ça. J'essaie de charger un objet NSString * à partir d'un fichier, de le convertir en NSDate * avec un formateur de date, puis de convertir les composants heure et minute en NSString afin que je puisse afficher une heure dans Interface Builder. Cependant, au lieu de l'heure qui a été enregistrée dans le fichier, je me retrouve avec 19 pour l'heure, et 0 pour la minute. (Indépendamment de ce qui a été mis, le programme charge quatre NSDates différents)NSDate ne va pas charger/afficher correctement
Voici le code pour charger la date du fichier (j'ai vérifié avec des points d'arrêt, et le tableau a effectivement les données correctes, ainsi ce n'est pas le problème
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
date1 = [[df dateFromString:[loadArray objectAtIndex:3]] retain];
Voici le code d'affichage de la date.
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comp = [[gregorian components:NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:myDrug.date1] retain];
hourField1.text = [NSString stringWithFormat:@"%d", comp.hour];
minuteField1.text = [NSString stringWithFormat:@"%d", comp.minute];
(hourField1 et minuteField1 sont les IBOutlets qui reçoivent les valeurs, par la voie)
Je ne sais pas où je suis allé mal ici, et toute aide serait grandement appréciée. Merci!
Mise à jour: Sur la suggestion de certaines des personnes ici, j'ai NSLogged le problème, et j'ai trouvé que c'est le formateur de date qui ne fonctionne pas. Une date d'exemple est 2011-02-14 06:00:00 GMT, et le formatter de date est aaaa-MM-jj hh: mm: ss a, donc je ne sais pas pourquoi cela ne fonctionnera pas.
Comment vous remplissez 'loadArray'? – vikingosegundo
Directement à partir d'un fichier, il s'agit de [NSMutableArray arrayWithContentsOfFile: [self saveFilePath]] – Nicholas1024
NSLog la valeur de [loadArray objectAtIndex: 3] avant la ligne dateFromString. Aussi NSLog la valeur de myDrug.date1 avant les composants: fromDate: line. Que montrent les NSLogs? – Anna