필터 구조 - iOS

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기3분
  • 필터 구조는 REST 끝점 쿼리의 반환 결과에 반환할 데이터를 정의하는 필터를 구성하는 기능을 제공합니다.

    필터 - init(criteria criteriaList: [criteria], sortBy: [Sort]? = nil, queryCategory: String? = nil)

    함께 OR되는 하나 이상의 필터 기준을 기반으로 필터를 작성합니다.

    표 1. 매개변수
    이름 유형 설명
    기준 배열 OR 커넥터로 그룹화할 최상위 기준 조건입니다.
    sortBy 문자열 옵션입니다. 반환 결과의 정렬 순서입니다.
    가능한 값:
    • 오름차순: 오름차순
    • desc: 전송 취소

    기본값: asc

    쿼리 범주 문자열 옵션입니다. 쿼리 범주의 이름입니다.

    기본값: 없음

    표 2. 반환
    유형 설명
    안 함

    다음 예제에서는 세 개의 개별 조건을 만들고 전달된 경우 해당 조건 중 하나라도 충족되면 레코드가 반환 결과에 다시 전달됩니다.

    // All of criteria1 conditions must be met
    let criteria1 = Criteria(conditions: …)
    
    // OR all of criteria2 conditions must be met
    let criteria2 = Criteria(conditions: …)
    
    // OR all of criteria3 conditions must be met
    let criteria3 = Criteria(conditions: …)
    
    let filter = Filter(criterias: [criteria1, criteria2, criteria3])

    필터 - init(conditions: [QueryProviding], sorts: [Sort]? = nil)

    지정된 모든 조건을 기준으로 필터를 작성합니다(AND로 결합).

    표 3. 매개변수
    이름 유형 설명
    조건 쿼리 제공 AND 커넥터로 그룹화할 조건입니다.
    가능한 값:
    • 부울
    • 날짜/시간
    • 이메일
    • 정수 선택
    • 숫자
    • 참조
    • 문자열
    • stringChoice
    종류 문자열 옵션입니다. 반환 결과의 정렬 순서입니다.
    가능한 값:
    • 오름차순: 오름차순
    • desc: 전송 취소

    기본값: asc

    표 4. 반환
    유형 설명
    안 함

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    // Where the record is active
    let condition1 = Condition.boolean(field: "active", .is(true))
    
    // AND the date value of the SLA due field is on "today" or any date after today.
    let condition2 = Condition.dateTime(field: "sla_due", .atOrAfter(0, .daysAgoStart))
    
    let filter = Filter(conditions: [condition1, condition2])

    필터 - init(query: String, queryCategory: String? = nil)

    지정된 인코딩된 쿼리를 사용하여 필터를 작성합니다.

    표 5. 매개변수
    이름 유형 설명
    쿼리 문자열 인코딩된 쿼리 테이블에서 반환할 기록을 필터링하는 데 사용할 인코딩된 쿼리입니다.
    쿼리 범주 문자열 옵션입니다. 쿼리에 사용할 쿼리 범주의 이름입니다.
    표 6. 반환
    유형 설명
    안 함

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    let query = "active=true^short_descriptionLIKEbroken"
    let filter = Filter(query: query)

    필터 - init(keywords: String? = nil, conditions: [Condition], sortBy: [Sort]? = nil)

    AND인 특정 키워드 및 조건을 기준으로 필터를 작성합니다.

    표 7. 매개변수
    이름 유형 설명
    키워드 문자열 옵션입니다. 검색할 특정 단어 또는 구입니다.

    기본값: nil - 특정 단어 검색이 없습니다.

    조건 문자열 AND 커넥터로 그룹화할 조건입니다.
    가능한 값:
    • 부울
    • 날짜/시간
    • 이메일
    • 정수 선택
    • 숫자
    • 참조
    • 문자열
    • stringChoice
    sortBy 문자열 옵션입니다. 반환 결과의 정렬 순서입니다.
    가능한 값:
    • 오름차순: 오름차순
    • desc: 전송 취소

    기본값: asc

    표 8. 반환
    유형 설명
    안 함

    // Keyword that must be found in the record
    let searchTerm = "…"
    
    // AND the specified condition must be met
    let condition1 = Condition.email(field: "state", .changesFrom("4"))
    
    let filter = Filter(keywords: searchTerm, condition: condition1)