J'ai une collection de balises rapportant leurs distances et je travaille dans un projet avec une architecture établie que je ne peux pas changer, sinon je pourrais avoir l'option pour différentes approches.NSSortDescriptor tri sur les propriétés qui pourraient être nul
Il existe un tableau existant d'objets balises qui indiquent leurs distances moyennes. Le code existant trie le tableau de balises sur leur distance moyenne, stocké dans une propriété appelée _averageDistance
. Tout fonctionne bien jusqu'à ce qu'une balise hors ligne signale un _averageDistance
indiquant qu'elle n'est pas disponible.
Le currentcode est la suivante:
NSSortDescriptor* sortOnDistance = [NSSortDescriptor sortDescriptorWithKey:@"averageDistance" ascending:YES];
NSArray* sortDescriptors = [NSArray arrayWithObject:sortOnDistance];
NSArray* sortedBeacons = [allBeacons sortedArrayUsingDescriptors:sortDescriptors];
BOOL sameBeacon = NO;
if(![[sortedBeacons firstObject] isEqual:_closestBeacon]){
_closestBeacon = (PTBeacon*)[sortedBeacons firstObject];
}
else {
sameBeacon = YES;
}
est-il un moyen de contrôler la façon dont les valeurs sont nulles traitées lors du tri NSArray? Merci!