Вместо этого
let filteredArray = MyDict.filter { ($0["address"] as! String).range(of: searchText!, ($0["country"] as! String).range(of: searchText!, ($0["state"] as! String).range(of: searchText!, options: [.diacriticInsensitive, .caseInsensitive]) != nil }
Используйте &&
, чтобы требовать, чтобы два выражения bool были истинными, или ||
, чтобы сделать выражение истинным, если любое из них истинно.
Итак, чтобы проверить, есть ли в адресе ИЛИ (||
) округ, текст, используйте
let filteredArray = MyDict.filter {
($0["address"] as! String).range(of: searchText!) != nil ||
($0["country"] as! String).range(of: searchText!) != nil
}
Вы можете добавить больше проверок с помощью ||
и подвыражений
Однако из словаря, который вы показали, мне не ясно, что Страна - это Строка. Вам нужно преобразовать любое название страны в строку.