2010-10-13 74 views
2

我想在核心数据中使用NSSortDescriptor来提取我的记录。模式对象数组不受排序描述符的影响。它以相同的顺序给出记录。这里是我的代码:从核心数据提取记录时,NSSortDescriptor不工作

NSManagedObjectContext *moc=[self managedObjectContext]; 
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription 
           entityForName:@"To_Do" inManagedObjectContext:moc]; 

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"repeatDate" ascending:NO]; 

NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil]; 
[sortDescriptor release]; 
[fetchRequest setSortDescriptors:sortDescriptors]; 
[fetchRequest setEntity:entity]; 
NSError * error = nil; 

NSArray *arrEntity = nil; 
arrEntity=[moc executeFetchRequest:fetchRequest error:&error]; 
+0

你的代码是正确的,我用相同的...除了我的项目是ARC基地,所以我没有使用发布。 – pankaj 2014-08-13 16:54:25

回答

4

该代码看起来不错,应该工作。由于它不存在一些可能的原因。

  1. 未排序的提取顺序可能与排序顺序相同。如果您连续创建对象并使用诸如创建日期之类的键,则有时会发生这种情况。
  2. 您的密钥可能都具有相同的值。如果您有默认值,就会发生这种情况。
  3. 你有错误的键或拼写错了名字。您应该收到投诉,但如果找不到密钥,它不会崩溃。
+0

好的。我知道了。我跟踪我的问题。 – 2010-10-15 05:49:20