Finalement, je ne plus ou moins comme suggéré par Wienke. Pour créer le prédicat qui va chercher les dossiers pour une année (s), je l'ai fait comme ceci:
- (NSPredicate*) predicateFromYear:(NSInteger)start span:(NSInteger)aSpan {
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *dc = [NSDateComponents new];
[dc setYear:start];
NSDate *startDate,*endDate;
startDate = [cal dateFromComponents:dc];
[dc setYear:aSpan];
endDate = [cal
dateByAddingComponents:dc
toDate:startDate
options:0];
[dc release];
return [NSPredicate predicateWithFormat:
@"date >= CAST(%f, \"NSDate\") AND date < CAST(%f, \"NSDate\")",
[startDate timeIntervalSinceReferenceDate],
[endDate timeIntervalSinceReferenceDate]]; }
En effet, je viens d'essayer quelque chose comme ça et il fonctionne, mais l'idée de Rog semble plus propre – kindoblue
Comme toujours, il est toujours une solution propre, belle, élégante à chaque problème, mais il est faux :-) L'idée suggérée par Rog n'était pas possible de suivre: un prédicat basé sur des propriétés transitoires ne peut pas être – kindoblue
@kindoblue: Merci d'avoir posté le complet, acrobatique répondre. Je l'ai caché pour référence. Et je me demande si vous ne pouvez pas encore faire quelque chose avec un attr transitoire, le définissant pendant tout le travail que vous faites avec le fetch, après quoi les données transitoires rendraient facile la manipulation des informations de date des objets mis en cache. – Wienke