NSArray - NSPredicate

2017. 1. 10. 14:45개발자료/iOS


반응형

## NSPredicate -  검색

# 특정 문자로 시작하는 데이터 검색

NSPredicate *Predicate = [NSPredicate predicateWithFormat:@"properties.name_full_char_kor beginswith[c] %@", @"text"];
[mutableArray filterUsingPredicate:Predicate];

# 특정 문자를 포함하는 데이터 검색

NSPredicate *Predicate = [NSPredicate predicateWithFormat:@"properties.name_full_char_kor contains[c] %@", @"text"];
[mutableArray filterUsingPredicate:Predicate];

 

** NSArray 내부에 NSDictionary가 Multi Depth로 들어가 있을때에는 key.key 형태로 NSDictionary의 Key명을 Depth 순서로 입력하면 된다. **

# 표현식 샘플

@"title == 'Harry Potter'"

@"author.name < %@", @"J.K.Rolling"

@"(page > 100) AND (page < 500)"

@"page BETWEEN "

@"%K < %@", @"title", @"Harry Potter"

@"title IN {'Harry Potter', 'Load of the Ring'}"

@"SELF.title IN %@", titles

@"SUBQUERY(FUNCTION(SELF, 'allKeys'), $k, SELF[$k] beginswith[cd] %@ AND SELF[$k] == %@).@count > 0", @"Key",@"0001"

 

# operators 및 option

BEGINSWITH, ENDSWITH, CONTAINS, LIKE(*, ? 사용가능. ex: @"title LIKE '??rr*'"), MATCH(regular expression 사용)

[c](case insensitive:대소문자 구분), [d](diacritic insensitive:대소문자를 구분하지 않는다), [cd](c AND d)

 

반응형