NSFetchedResultsController
のデータを取得するために使用していますUITableView
。しかし、問題は私がで使用sortDescriptor
しなければならないことNSFetchedResultsController
です。データを並べ替えたくありません。テーブルに挿入した順序でデータをテーブルに表示したいと思います。
このタスクを処理する方法はありますか?
NSFetchedResultsController
のデータを取得するために使用していますUITableView
。しかし、問題は私がで使用sortDescriptor
しなければならないことNSFetchedResultsController
です。データを並べ替えたくありません。テーブルに挿入した順序でデータをテーブルに表示したいと思います。
このタスクを処理する方法はありますか?
挿入された順序でデータを並べ替える場合は、この順序を記録するためのフィールドが必要です。
creationDate
これを行う良い方法は、オブジェクトにプロパティを追加してから、awakeFromInsert
メソッドを使用して挿入時間を自動的に記録することです。
- (void)awakeFromInsert
{
[super awakeFromInsert];
[self setValue:[NSDate date] forKey:@"creationDate"];
}
これで、挿入順序で並べ替えるときに、すべて設定されました。
ご回答有難うございます。sorting number という名前の別のプロパティを追加し、次のように実装しました。
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
chapterSN = [userDefaults objectForKey:@"sortingNumber"];
if (chapterSN == Nil) {
NSInteger chapterSortingValue = 0;
chapterSN = [NSNumber numberWithInteger:chapterSortingValue];
[userDefaults setValue:chapterSN forKey:@"sortingNumber"];
}
else {
NSInteger chapterSortingValue = [chapterSN integerValue];
chapterSortingValue = chapterSortingValue+1;
chapterSN = [NSNumber numberWithInteger:chapterSortingValue];
[userDefaults setValue:chapterSN forKey:@"sortingNumber"];
}