2011-08-14 5 views
4

다소 잘 작동하는이 술어가 있습니다. predicateFilter가 112 인 경우 일치하는 NSPredicate 문자열로

NSPredicate *filter = [NSPredicate predicateWithFormat:@"code contains[cd] %@", predicateFilter];

그래서,이 안에 112이있는 모든 code 찾습니다. 대신 112으로 시작하는 모든 코드를 찾으십시오.

편집 :이 술어가

, 내가 PredicateFilterEnd로 시작 predicateFilterStart 시작 코드와 코드 사이에 그것 때문에 그 코드를 만들 수있는 방법?

NSPredicate *filterPredicate = [NSPredicate predicateWithFormat:@"ANY code BETWEEN %@", 
        [NSArray arrayWithObjects: 
         [NSExpression expressionForConstantValue: [NSNumber numberWithFloat: [self.predicateFilterStart floatValue]]], 
         [NSExpression expressionForConstantValue: [NSNumber numberWithFloat: [self.predicateFilterEnd floatValue]]], 
         nil]]; 

답변

8
NSPredicate *filter = [NSPredicate predicateWithFormat:@"code beginswith[cd] %@", predicateFilter]; 

Predicate Programming Guide

+0

감사합니다, 당신은 너무 질문을 업데이트 확인할 수 있습니까? –

+0

고마워요.하지만 정확히 내가 찾던 것이 아니 었습니다. 'predicateFilter' (예 : 20)와'predicateFilterEnd' (예 : 30)가있는 코드 사이의 코드를 찾고 싶습니다. 그래서 20과 30으로 시작하는 코드들 사이의 코드, 그래서 25.5와 같은 어떤 코드. –

+0

그 술어 NSLog는''BEGINSWITH [cd] ''와 코드 18 "AND 코드 ENDSWITH [cd]"20 "'에 대해, 코드 BETWEEN (코드 BEGINSWITH [cd] "18"AND 코드 BEGINSWITH [CD] "20")'또는 뭔가. –

관련 문제