J'essaie d'implémenter une méthode qui incrémentera une variable d'instance NSDate d'un mois. J'ai des problèmes de gestion de la mémoire avec ça. (J'utilise MallocScribble et NSZombieEnabled, et obtenir le message: - [CFDate copy]: message envoyé à l'instance désaffectée 0x3d9dfa0)Comment incrémenter un NSDate
Ma question se résume à: quelle est la meilleure façon d'incrémenter une date? Voici mon code:
NSDate *displayedMonthYear;
....
-(IBAction) nextMonth:(id)sender {
NSCalendar *calendar= [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
[dateComponents setMonth:1];
NSDate *prevDate = [displayedMonthYear copy];
[displayedMonthYear release];
displayedMonthYear = [calendar dateByAddingComponents:dateComponents toDate:prevDate options:0];
[prevDate release];
[dateComponents release];
[calendar release];
}
Au départ, je ne faisais pas le bit avec la copie prevDate, mais faisait quelque chose comme:
displayedMonthYear = [calendar dateByAddingComponents:dateComponents toDate:displayedMonthYear options:0];
Cependant, je craignais que cette approche serait une fuite de mémoire. Donc, je suppose que c'est plus un problème de gestion de la mémoire qu'un problème de date, mais toute l'aide serait grande -
Le code dans ce projet: http: //github.com/klazuka/Kal est le meilleur que j'ai vu pour la gestion des dates, des mois, etc. dans Cocoa. –
Je vais vérifier - merci – BridgetG