【发布时间】:2015-11-05 19:27:08
【问题描述】:
我有一组信标报告它们的距离,并且我正在从事一个具有我无法更改的既定架构的项目,否则我可能会选择不同的方法。
现有的一组信标对象会报告它们的平均距离。现有代码按平均距离对信标数组进行排序,存储在名为_averageDistance 的属性中。一切正常,直到离线信标报告 nil _averageDistance 表示它不可用。
当前代码如下:
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;
}
在对 NSArray 进行排序时,有没有办法控制 nil 值的处理方式?谢谢!
【问题讨论】:
标签: ios objective-c nsarray nssortdescriptor