cog/Spotlight/NSComparisonPredicate+CogPr...

32 lines
1.0 KiB
Objective-C

//
// NSComparisonPredicate+CogPredicate.m
// Cog
//
// Created by Matthew Grinshpun on 14/02/08.
// Copyright 2008 __MyCompanyName__. All rights reserved.
//
#import "NSComparisonPredicate+CogPredicate.h"
// Ignore case and diacritics
static const unsigned OPTIONS = (NSCaseInsensitivePredicateOption |
NSDiacriticInsensitivePredicateOption);
@implementation NSComparisonPredicate (CogPredicate)
+ (NSPredicate *)predicateForMdKey:(NSString *)key
withString:(NSString *)aString
exactString:(BOOL)exactString {
// We don't want an exact string, so wrap it in wildcards
if(!exactString)
aString = [NSString stringWithFormat:@"*%@*", aString];
return [NSComparisonPredicate
predicateWithLeftExpression:[NSExpression expressionForKeyPath:key]
rightExpression:[NSExpression expressionForConstantValue:aString]
modifier:NSDirectPredicateModifier
type:NSLikePredicateOperatorType
options:OPTIONS];
}
@end