我筛选使用NSPredicate
为什么我使用NSSortDescriptor的排序方法不能正常工作?
NSPredicate *resultPredicate = [NSPredicate
predicateWithFormat:@"Name CONTAINS[cd] %@ OR Address CONTAINS[cd] %@",
searchText,
searchText];
searchResults = [NSMutableArray array];
for (key in dict) {
if ([resultArray containsObject:key]) {
NSArray *array = [dict objectForKey:key];
matches = [array filteredArrayUsingPredicate:resultPredicate];
if (matches.count > 0) {
[searchResults addObjectsFromArray:matches];
// sorting array
NSSortDescriptor *sort=[NSSortDescriptor sortDescriptorWithKey:@"Distance" ascending:YES];
[searchResults sortUsingDescriptors:[NSArray arrayWithObject:sort]];
}
}
}
}
接着我用NSSortDescriptor
NSSortDescriptor *sort=[NSSortDescriptor sortDescriptorWithKey:@"Distance" ascending:YES];
[searchResults sortUsingDescriptors:[NSArray arrayWithObject:sort]];
这是工作,但不是所有的结果导致阵列我的表结果:
距离的原始值是什么样的?他们是数字,字符串吗?一切正常化到米? – 2013-05-13 15:21:16
NSString * dist = [NSString stringWithFormat:@“%。2f km”,distance/1000]; – 2013-05-13 15:23:15