【发布时间】:2013-04-02 03:16:35
【问题描述】:
我需要获取我的数据库并按 id 排序。例如,我在数据库中有 2 列,database_id 和 content。当我 NSLOG 最后一行时,我得到“内容”列的所有行。但我需要根据database_id 1、2、3、4、5、6(升序)对这些“内容”行进行排序。帮忙???
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *ent = [NSEntityDescription entityForName:@"databaseName" inManagedObjectContext:self.managedObjectContext];
[request setEntity:ent];
NSSortDescriptor *srt = [NSSortDescriptor sortDescriptorWithKey:@"database_id" ascending:YES];
[request setSortDescriptors:[NSArray arrayWithObject:srt]];
NSError *error;
NSArray *result = [self.managedObjectContext executeFetchRequest:request error:&error];
if (!result)
{
//error
}
NSMutableArray *myArray = [[NSMutableArray alloc] initWithArray:[result valueForKey:@"content"]];
【问题讨论】:
-
您的带有排序描述符的代码对我来说看起来不错。究竟什么不起作用?
-
排序很好,但我遇到了 NSString/Number 的问题。 database_id 类似于 1, 11, 15, 2, 3, 5....
标签: iphone objective-c arrays sorting core-data