2010-02-26 3 views
0

J'essaie de trier un NSSet de NSManagedObjects. La valeur d'une propriété "pubDate" de l'élément set est nulle. Le code suivant lève une exception [NSManagedObject valueForUndefinedKey] lorsqu'il est trié. Comment puis-je l'obtenir pour ignorer l'élément sans valeur pour cette clé?Tri NSSet throws exception valueForUndefinedKey

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

Etes-vous sûr que chaque clé dans 'self.items' a la clé" pubdate "? – kennytm

+1

Je suis sûr qu'il sait qu'ils ne l'ont pas tous et veut savoir comment contourner ce problème. –

Répondre

0

Vous ne pouvez pas trier des objets sur une valeur qui n'existe pas. Pouvez-vous lui donner une valeur par défaut? C'est comme essayer de trier le tableau {1, 5, 3, X, 9, 7}, vous ne pouvez pas, sauf si vous lui dites comment traiter avec X.

Questions connexes