MDQueryフレームワーク内でMDQuerySetSortComparatorBlockメソッドを使用して、クエリ結果リストをソートしようとしました。ただし、メソッドにパラメーターとして渡されたブロックはまったく呼び出されません。以下は、クエリ リクエストを作成するために使用しているコードの一部です。どんな助けでも大歓迎です。
queryString = [NSString stringWithFormat:@"kMDItemDisplayName == \'*a*\'cd"];
CFStringRef query = (__bridge CFStringRef)(queryString);
queryReference = MDQueryCreate(NULL, query, (__bridge CFArrayRef)([NSArray arrayWithObjects:(id)kMDItemDisplayName, nil]), NULL);
MDQuerySetSortComparatorBlock(queryReference, ^CFComparisonResult(const CFTypeRef *attrs1, const CFTypeRef *attrs2) {
NSLog(@"Block called");
return kCFCompareLessThan;
});
MDQuerySetSearchScope(queryReference, (__bridge CFArrayRef)([NSArray arrayWithObjects:(id)kMDQueryScopeComputer, nil]), 0);
MDQueryExecute(queryReference, kMDQueryWantsUpdates);