私はアップルのウェブサイトまたはここからのcoredatabooksソースコードの例で遊んでいます。書籍の著作権の日付属性値を設定して、著者をテーブルビューセクションヘッダーとして置き換えようとしています。日付値を静的にする必要があります。つまり、時間を必要としません。そうしないと、すべての日付値が異なり、日付値の時間部分が変更されているため、同じ日付の下に同じ月日と同じ年の著作権日付が並んでいる2冊の本のオブジェクトはありません...
セクションヘッダーに表示する日付ピッカーの日付値をフォーマットするRootViewController.mファイルのコードは次のとおりです。
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
NSString *rawDateStr = [[[fetchedResultsController sections] objectAtIndex:section] name];
//convert default date string to NSDate...
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZ"];
NSDate *date = [formatter dateFromString:rawDateStr];
//convert NSDate to format we want...
[formatter setDateFormat:@"EEEE MMMM d"];
NSString *formattedDateStr = [formatter stringFromDate:date];
return formattedDateStr;
}
これは問題なく出力されますが、同じ著作権の月日と年の本を同じセクションにグループ化することはできません。これも(私が想定しているように)日付の値にも時間が含まれているためです。datepickerからの日付値の実際の保存は、EditingViewController.mファイルで次のように実行されます。
- (IBAction)save {
// Pass current value to the edited object, then pop.
if (editingDate) {
[editedObject setValue:datePicker.date forKey:editedFieldKey];
}
saveメソッドは現在、日付をそのままdatepickerから取得します。そのため、コードを変更して、最初にdatepickerの日付をローカル変数にコピーし、そこで時間を空白にしてから、setValueステートメントでその値を使用してグループ化するにはどうすればよいですか。正しく?助けてください!ありがとう