NSFetchRequest
を最初に注文し、同じ日の注文を名前で一致させたいとします。 私は日付を取得するためにUIDatePicker
を使用してNSFetchRequestを日付順にソートし、アルファベット順に並べ替えます。
[self.managedObject setValue:self.datePicker.date forKey:self.keypath];
コアデータを使用して、それを保存して、このようなNSFetchRequest
を並べ替える:
NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"day" ascending:NO];
NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1, sortDescriptor2, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
今、私の問題は、それが唯一の日付ではなく注文することですコアデータにはUIDatePicker
が日付だけでなく時間も格納されています。だから同じ日であっても、同じ日に「名前」でソートされていないので、時が違うからです。 コアデータには、UIDatePicker
からmm/dd/yyyy日時で保存するにはどうすればよいですか?
他の解決策はありますか?
日付から時刻を削除する必要があります。 http://stackoverflow.com/questions/4187478/truncate-nsdate-objective-c –
他に何かの時間情報が必要ですか?そうでない場合は、コアデータオブジェクトの時刻を設定するときに時間コンポーネントを0に設定することができます。必要な場合は、時間コンポーネントなしでNSDateまたはyyyymmdd文字列を使用する別の属性を追加する必要があります。 –