【问题标题】:Sorting NSSet throws exception valueForUndefinedKey排序 NSSet 抛出异常 valueForUndefinedKey
【发布时间】:2010-02-26 05:56:17
【问题描述】:

我正在尝试对 NSManagedObjects 的 NSSet 进行排序。设置项的“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];

【问题讨论】:

  • 您确定self.items 中的每个键都有“pubdate”键吗?
  • 我很确定他知道他们并不都拥有它,并且想知道如何解决这个问题。

标签: objective-c


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-07-04
    • 2013-05-24
    • 1970-01-01
    • 2016-07-21
    • 2011-05-30
    • 1970-01-01
    • 2011-12-12
    • 2011-02-25
    相关资源
    最近更新 更多