我篩選使用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