1

我正在使用NSFetchedResultsController检索数据UITableView。但问题是我必须使用sortDescriptorwith NSFetchedResultsController。我不想对我的数据进行排序,我想按照我在表中插入它们的顺序在表中显示数据。

有没有办法处理这个任务?

4

2 回答 2

6

如果您希望您的数据按插入顺序排序,那么您需要一个字段来记录此顺序。

一个很好的方法是creationDate为您的对象添加一个属性,然后使用该awakeFromInsert方法自动记录插入时间。

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

现在,当您想按插入顺序对它们进行排序时,您已经准备就绪。

于 2012-05-21T17:02:09.410 回答
1

感谢您的回答。我添加了另一个名为排序号的属性并以这种方式实现:

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 回答