iOS 模拟器 6.0 使用自定义排序描述符崩溃



>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 代码模板所做的唯一更改。当我在模拟器 6.0 上运行它时,代码在获取数据时崩溃......

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

与objc_exception_throw。顺便说一句,这段代码适用于模拟器 5.1。知道出了什么问题吗?提前谢谢。

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

来自"核心数据编程指南":

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

顺便说一句,你真的想要一个使所有对象相等的排序描述符吗?

最新更新