2012-01-29 11 views

答えて

8

実行する必要があるのは、データオブジェクトに一時プロパティを作成し、それに応じてフェッチ結果を並べ替えることです。私が働いてきたTVGuideのために、私はairDayで結果をソートするために必要な、そしてたstartDateによってイベントをソートし、セクションのキー名のパスのための過渡的なプロパティを使用して終了:Event.mで

-(NSString*) airDay 
{ 
    NSDateFormatter *dayFormatter=[[NSDateFormatter alloc] init]; 
    [dayFormatter setLocale:[NSLocale currentLocale]]; 
    [dayFormatter setDateStyle: NSDateFormatterMediumStyle]; 
    [dayFormatter setDoesRelativeDateFormatting: YES]; 

    return [dayFormatter stringFromDate:self.startDate]; 
} 

マッチングfetchrequest

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:[Database db].managedObjectContext]; 
[fetchRequest setEntity:entity]; 

NSArray *sortDescriptors = [[NSArray alloc] initWithObjects: 
          [NSSortDescriptor sortDescriptorWithKey:@"startDate"   
                 ascending:YES], 
                 nil]; 

[fetchRequest setSortDescriptors:sortDescriptors]; 

NSFetchedResultsController *frc = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest 
                     managedObjectContext:[Database db].managedObjectContext 
                     sectionNameKeyPath:@"airDay" 
                       cacheName:@"SearchEvents"]; 
+0

'cacheName:@" SearchEvents "これはクラス名か実体ですか? エンティティを参照するときにエラーが発生します。 ありがとうございます。 –

+1

代わりにcacheNameとしてnilを使用してください。多くの場合、あなたは1つを供給する必要はありません –

3

あなたはXcodeの助けでこれを検索することができ、「DateSectionTitles」のアップルのサンプルコードを参照してください。 それは多くの助けになります!

関連する問題