想从core data里按一定的order取出数据,然后显示在table view上。在datamodel文件里定义了一个叫order_id(integer 64)的attribute来做这个排序。取数据时设置排序的代码如下:
 
       NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]initWithKey:@"order_id" ascending:YES];
        NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
        [fetchRequest setSortDescriptors:sortDescriptors];
        
        [sortDescriptor release];
        [sortDescriptors release];
但发现取出的数据并不是按照指定顺序来排列的,比如我插入一些数据,给它们设置order_id分别为1,2,3,4,5;
希望它们显示的时候也按照这个顺序来呈现,但现在排序乱了,于是table view里内容显示的顺序就乱了。我发现我原来的order_id数据分别是1,2,3,4,5;但插入core data后,我在把它打印出来就变成下面这样了:   
    100753152,
    101028112,
    100808672,
    101050848,
    101052880并不是从小到大的数据,这样取数据的时候如果按order_id来做排序就不对了。我又用了其它的字段来测试这样的排序,如:string类型的display_name,测试结果排序是正确的。
是不是core data里NSNumber类型的数据排序会有问题吗?求指点。谢谢