Como fazer um filtro em um array no Swift similar ao like?

como fazer um filtro em um array no Swift similar ao like?

let cast = ["Vivien", "Marlon", "Kim", "Karl"]

gostaria de retornar like ('%ar%'), resultado esperado:

[ "Marlon", "Karl"]
let cast = ["Vivien", "Marlon", "Kim", "Karl"]

Forma reduzida:

let result = cast.filter { $0.contains("ar") }

Forma mais verbosa:

func criarFiltroContains(pattern: String) -> (String) -> (Bool) {
    func filtro(element: String) -> Bool {
        return element.contains(pattern)
    }
    return filtro;
}

let result = cast.filter(criarFiltroContains(pattern: "ar"))
1 curtida

Muito obrigado pela ajuda, era o que eu realmente precisava, te devo uma!