Filter structure - iOS

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 2 minutes de lecture
  • The Filter structure provides the ability to configure filters that define the data to return in the return results of a REST endpoint query.

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

    Creates a filter based on one or more filter criteria that are OR'd together.

    Tableau 1. Parameters
    Name Type Description
    criteria Array Top level criteria conditions to group with OR connectors.
    sortBy String Optional. Sort order of the return results.
    Possible values:
    • asc: Ascending
    • desc: Desending

    Default: asc

    queryCategory String Optional. Name of the query category.

    Default: None

    Tableau 2. Returns
    Type Description
    None

    The following example shows creating three separate criteria and when passed in, if any of those criteria are met, the record is passed back in the return results.

    // 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])

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

    Creates a filter based on all specified conditions (AND'd together)

    Tableau 3. Parameters
    Name Type Description
    conditions QueryProviding Conditions to group with an AND connector.
    Possible values:
    • boolean
    • dateTime
    • email
    • integerChoice
    • numeric
    • reference
    • string
    • stringChoice
    sorts String Optional. Sort order of the return results.
    Possible values:
    • asc: Ascending
    • desc: Desending

    Default: asc

    Tableau 4. Returns
    Type Description
    None

    The following code example shows how to call this function.

    // 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])

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

    Creates a filter using a specified encoded query.

    Tableau 5. Parameters
    Name Type Description
    query String Encoded queryEncoded query to use to filter the records to return from the table.
    queryCategory String Optional. Name of the query category to use for the query.
    Tableau 6. Returns
    Type Description
    None

    The following code example shows how to call this function.

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

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

    Creates a filter based on specific keywords and conditions that are AND'd together.

    Tableau 7. Parameters
    Name Type Description
    keywords String Optional. Any specific word or phrase to search for.

    Default: nil - No specific word search.

    conditions String Conditions to group with an AND connector.
    Possible values:
    • boolean
    • dateTime
    • email
    • integerChoice
    • numeric
    • reference
    • string
    • stringChoice
    sortBy String Optional. Sort order of the return results.
    Possible values:
    • asc: Ascending
    • desc: Desending

    Default: asc

    Tableau 8. Returns
    Type Description
    None

    // 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)