iOS Simulator 6.0与自定义排序描述符崩溃

时间:2012-09-27 18:57:34

标签: core-data ios6 nssortdescriptor

t创建Master-Detail应用程序项目后,我在MasterViewController.m中替换了以下代码行,

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

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]
            initWithKey:@"timeStamp"
              ascending:YES
             comparator:^NSComparisonResult (id obj1, id obj2)
             {
                return NSOrderedSame;
             }];

这是我对Apple代码模板所做的唯一更改。当我在Simulator 6.0上运行它时,代码在获取数据时崩溃......

if (![self.fetchedResultsController performFetch:&error]) {

使用objc_exception_throw。顺便说一句,这段代码适用于模拟器5.1。知道什么是错的吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

基于Objective-C的排序描述符不能与获取请求一起使用。

来自“核心数据编程指南”:

  

...总而言之,如果您直接执行提取,则应该   通常不会添加基于Objective-C的谓词或排序描述符   获取请求。相反,你应该将这些应用于结果   获取。

顺便问一下,你真的想要一个让所有对象都相等的排序描述符吗?