que je fais:iPhone plist et NSDate émet
NSString *path = [[self class] pathForDocumentWithName:@"Alarms.plist"];
NSArray *alarmDicts = [NSMutableArray arrayWithContentsOfFile:path];
if (alarmDicts == nil)
{
NSLog(@"MER. Unable to read plist file: %@", path);
path = [[NSBundle mainBundle] pathForResource:@"Alarms"
ofType:@"plist"];
alarmDicts = [NSMutableArray arrayWithContentsOfFile:path];
}
_displayedObjects = [[NSMutableArray alloc]
initWithCapacity:[alarmDicts count]];
for (NSDictionary *currDict in alarmDicts)
{
Alarm *alarm = [[Alarm alloc] initWithDictionary:currDict];
[_displayedObjects addObject:alarm];
}
pathForDocumentWithName juste une méthode d'aide, supposons que cela fonctionne (il fait). J'ajoute toutes les valeurs du plist à un objet, et je le stocke dans un tableau. Maintenant, si je fais quelque chose comme ceci:
NSUInteger index = [indexPath row];
id alarm = [[self displayedObjects] objectAtIndex:index];
NSString *title = [alarm title];
[[cell detailTextLabel] setText:title];
Cela fonctionne parfaitement bien. Mais en essayant de formater le type NSDate dans le fichier plist (répertorié comme « datetime »)
NSDate *datetime = [alarm datetime];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm"];
[[cell textLabel] setText:[formatter stringFromDate:datetime]];
Il jette le NSLog pour alarmDicts étant nul, et renvoie nil pour la chaîne. Je n'ai plus d'idées et j'essaie depuis quelques heures de résoudre ce problème. Quelqu'un a des idées?
De plus, si j'imprimer la description datetime, il fonctionne parfaitement. Seulement nils et des erreurs quand je tente d'utiliser le NSDateFormatter sur elle.
Ouais c'est juste l'extrait. Et tu avais raison. Bien qu'il ait dit qu'il s'agissait d'un objet NSDate, j'ai recréé le fichier .plist et maintenant cela fonctionne. Merci pour la contribution! On dirait que j'ai besoin d'un nouvel ensemble d'yeux. – Pete