insertNewObjectForEntityForName在表中的第一个位置不是最后一个

时间:2013-04-15 04:15:53

标签: ios objective-c core-data

如何在表格的第一个位置插入带有coredata的记录?目前,如果我添加insertNewObjectForEntityForName,它会将记录添加到最后。

2 个答案:

答案 0 :(得分:0)

嗯,据我所知,这是不可能的。但是,您可以做的一件事是操纵从DB中检索对象的方式。例如,对于此类要求,在模型类中具有NSDate属性通常很有用。将对象插入数据库时​​,请为此属性传递[NSDate date]。在从DB中提取对象时,编写一个排序算法,该算法返回按插入日期排序的记录

在模型类的头文件中 Header.h

//Declare this property
NSDate *dateOfInsertion


//This method returns objects sorted by DateOf Insertion
    - (NSArray*)arraySortedByDateOfInsertion {
        NSSortDescriptor *descriptor = [NSSortDescriptor sortDescriptorWithKey:@"dateOfInsertion" ascending:NO];
        return [self sortedArrayUsingDescriptors:[NSArray arrayWithObject:descriptor]];

    }

希望这有帮助

答案 1 :(得分:0)

您无法决定在表格中添加元素的位置。但你为此使用数组。您可以在数组顶部添加元素,使其显示为表格中的第一行:

- (void)insertObject:(id)anObject atIndex:(NSUInteger)index