Нет разницы в подходе к фильтрации по простому свойству (например, Int
) или более сложному (например, Array
или другим). Вы должны просто передать условие, по которому элементы должны быть отфильтрованы.
Если вы хотите отфильтровать события и иметь только те, имя которых начинается с буквы «A», вы должны написать:
let prefixedWithA = events.filter{ $0.eventname.hasPrefix("A") }
Если вы хотите отфильтровать события, у которых есть пловец, чье имя имеет префикс «A», вы должны написать:
let hasSwimmerPrefixedWithA = events.filter{ $0.swimmers?.contains(where: {$0.swimmer.hasPrefix("A")}) ?? false }