对NSSet进行排序会抛出异常valueForUndefinedKey

时间:2010-02-26 05:56:18

标签: objective-c

我正在尝试对NSManagedObjects的NSSet进行排序。其中一个set item的“pubDate”属性的值为nil。以下代码在排序时抛出异常[NSManagedObject valueForUndefinedKey]。如何在没有该键值的情况下忽略该元素?

NSSortDescriptor *sortNameDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"pubDate" ascending:NO] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sortNameDescriptor, nil];
return [[self.items allObjects] sortedArrayUsingDescriptors:sortDescriptors];

1 个答案:

答案 0 :(得分:0)

您无法对不存在的值对对象进行排序。你能给它一个默认值吗?这就像尝试对数组{1, 5, 3, X, 9, 7}进行排序一样,除非你告诉它如何处理X,否则你不能这样做。