본문 바로가기
프로그래밍/Xcode-iOS

NSPredicate 간단한 사용법

by Mr-후 2019. 10. 11.
반응형

NSPredicate 간단한 사용법


객체로 만든 배열이 있다. 
이 배열 안의 객체를 필터링하거나 소팅을 해야하는 상황이다. 
다음과 같은 규칙을 이용해서 원하는 형태로 배열을 재 조합할 수 있다. 

   NSString *name = @"울산광역시";

    NSPredicate *filter = [NSPredicate predicateWithFormat:@"%K = %@ || %K = %@",@"city", name,@"code",@""];

    NSArray *filteredContacts = [self.orgExchange2List.list filteredArrayUsingPredicate:filter];



  • %@ : 하나의 객체로 치환한다.
  • %K : 하나의 문자열로 치환한다. 이는 비교하고자 하는 키패스가 된다.
  • = / == : 두 항이 같다.
  • >= / => : 왼쪽이 크거나 같다.
  • <= / =< : 오른쪽이 크거나 같다.
  • > : 왼쪽이 크다
  • < : 오른쪽이 크다.
  • != / <> : 같지 않다.
  • BETWEEN : 사이에 있다 – 1 BETWEEN {0,3}
  • TRUEPREDICATE : 항상 TRUE
  • FALSEPREDICATE : 항상 FALSE
  • AND / && : 논리곱
  • OR / || : 논리합
  • NOT / ! : 논리 부정
  • 문자열 비교시 [cd] 토큰 : c는 대소문자구분하지 않음, d는 공백등을 무시
  • BEGINSWITH : 첫글자가 ~로 시작함
  • ENDSWITH : 마지막이 ~로 끝남
  • CONTAINS : ~를 포함함
  • LIKE : ~와 유사함
  • MATCHES : 정규식을 사용함
  • IN : 비교항이 특정 집합에 포함됨


반응형