NSDate *minimalDate = [NSDate dateWithTimeIntervalSinceNow:-172800]; // 48h = 48*60*60 seconds
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"Photo" inManagedObjectContext:context];
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"viewDate" ascending:NO]];
request.predicate = [NSPredicate predicateWithFormat:@"viewDate > %@", minimalDate];
request.fetchBatchSize = 20;
NSFetchedResultsController *frc = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:context sectionNameKeyPath:nil cacheName:nil];
[request release];
self.fetchedResultsController = frc;
[frc release];
補遺
ここで私はviewDate属性を作成する方法です。
myProjectName.xcdatamodeld
で、写真エンティティを選択します。 'viewDate'という名前の属性を追加し、 'Date'と入力します。 これを選択し、編集>コピーを押します。
Photo.h
に移動し、プロパティを生成する場所をクリックします。 この特別な貼り付けオプションを選択してください: 編集> '属性の貼り付け'。生成するPhoto.m
で
@property (nonatomic, retain) NSDate * viewDate;
同じ: それは、このコード行を生成する必要があります
self.photo.viewDate = [NSDate date];
ヨーストはあなたに感謝:
を私はこのように私PictureViewControllerのloadViewメソッドで日付を設定しますとても!!これはまさに私が必要としていたものです。 私はあなたに感謝します! –
私の喜び! PS - 変更されたviewDate属性をディスクに保存することを忘れないでください! このために、AppDelegateからsaveContextメソッドをコピーできます。 – Joost