1

NSFetchedResultsControllerのデータを取得するために使用していますUITableView。しかし、問題は私がで使用sortDescriptorしなければならないことNSFetchedResultsControllerです。データを並べ替えたくありません。テーブルに挿入した順序でデータをテーブルに表示したいと思います。

このタスクを処理する方法はありますか?

4

2 に答える 2

6

挿入された順序でデータを並べ替える場合は、この順序を記録するためのフィールドが必要です。

creationDateこれを行う良い方法は、オブジェクトにプロパティを追加してから、awakeFromInsertメソッドを使用して挿入時間を自動的に記録することです。

- (void)awakeFromInsert
{
    [super awakeFromInsert];
    [self setValue:[NSDate date] forKey:@"creationDate"];
}

これで、挿入順序で並べ替えるときに、すべて設定されました。

于 2012-05-21T17:02:09.410 に答える
1

ご回答有難うございます。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"];
 }
于 2012-05-22T07:13:16.583 に答える