将新条目添加到每个新条目的表顶部的表视图控制器

我到目前为止有一个工作的应用程序,基本上包括以下内容:

使用核心数据,我有一个表视图控制器与添加button模式调用新的视图控制器提示用户添加文本到三个字段。 当用户点击保存时,该条目被添加到表格视图控制器中作为填充了信息的字幕单元。它运行良好。

我感到困惑并且一直在寻找答案的是,每个新条目都被添加到单元格的底部,所以如果有足够的单元格填充屏幕,新添加的条目将被添加到底部。 我真的很想得到每个新的条目到表格视图单元格的顶部。

我已经实现了按字母顺序sorting的sortDescriptors,但也是如此,但是我想要在表视图的顶部添加新的条目,而不pipe起始字符。

我的FetchRequest目前看起来像这样:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Transaction"]; NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"whoBy.name" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]; fetchRequest.sortDescriptors = [NSArray arrayWithObject:sortDescriptor]; self.transactions = [[managedObjectContext executeFetchRequest:fetchRequest error:nil]mutableCopy]; 

这是将条目添加到数据库的代码:

 NSManagedObject *person = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:context]; [person setValue:self.nameTextField.text forKey:@"name"]; [transaction setValue:person forKey:@"whoBy"]; 

任何想法将不胜感激!

您也可以通过Coredata获取请求以降序的方式获得答案。

 NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"date" inManagedObjectContext:self.managedObjectContext]; [fetchRequest setEntity:entityDesc]; [fetchRequest setFetchBatchSize:10]; NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES]; NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil]; [fetchRequest setSortDescriptors:sortDescriptors]; NSArray *fetchedObjects = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error]; 

你可以在地方插入新的logging

  [self.tableview insertRowsAtIndexPaths:indexPath withRowAnimation:YES ]; 

而且你也可以通过更新数组来完成。

 You can add object to as: [yourArray insertObject:object atIndex:0]; //for first row. 

然后用新数组重新加载表:

  [yourTable reloadData] 

这将为你工作。

如果有人正在阅读本文,我已经将这个问题排除在外供将来参考。

在添加条目视图控制器(视图控制器添加条目到数据库,并有一个保存button的方法),我做了以下几点:

1)我添加了一个属性的类(@属性(非primefaces,强大)的NSDate * dateToday; 2)在保存方法,我做了以下几点:

 self.dateToday = [NSDate date]; [transaction setValue:self.dateToday forKey:@"createdDate"]; // transaction is looking into the Transaction Entity which has an attribute called createdDate of type Date. 

3)在TableViewController和NSFetchRequest,我做了以下:

 NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"createdDate" ascending:NO]; NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor]; [fetchRequest setSortDescriptors:sortDescriptors]; 

现在,当我创build一个新条目时,由于Ascending设置为NO,新创build的条目位于Table View Controller的顶部。

感谢您的指导@Pradhyuman Chavda