mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-02 17:57:22 +08:00
34 lines
1000 B
Objective-C
34 lines
1000 B
Objective-C
//
|
|
// RKSearchPredicate.m
|
|
// RestKit
|
|
//
|
|
// Created by Blake Watters on 7/27/12.
|
|
// Copyright (c) 2012 RestKit. All rights reserved.
|
|
//
|
|
|
|
#import "RKSearchPredicate.h"
|
|
#import "RKSearchTokenizer.h"
|
|
|
|
@implementation RKSearchPredicate
|
|
|
|
+ (NSPredicate *)searchPredicateWithText:(NSString *)searchText type:(NSCompoundPredicateType)type
|
|
{
|
|
return [[[self alloc] initWithSearchText:searchText type:type] autorelease];
|
|
}
|
|
|
|
- (id)initWithSearchText:(NSString *)searchText type:(NSCompoundPredicateType)type
|
|
{
|
|
RKSearchTokenizer *tokenizer = [RKSearchTokenizer new];
|
|
NSSet *searchWords = [tokenizer tokenize:searchText];
|
|
[tokenizer release];
|
|
|
|
NSMutableArray *subpredicates = [NSMutableArray arrayWithCapacity:[searchWords count]];
|
|
for (NSString *searchWord in searchWords) {
|
|
[subpredicates addObject:[NSPredicate predicateWithFormat:@"(ANY searchWords.word beginswith %@)", searchWord]];
|
|
}
|
|
|
|
return [super initWithType:type subpredicates:subpredicates];
|
|
}
|
|
|
|
@end
|