Я сделал очень простую адресную книгу, которая показывает картинку, имя и номер телефона пользователя. И я реализовал их в виде таблицы, теперь я добавил панель поиска для таблицы, и она не ведет себя так, как я хочу !!
мой стол работает нормально. Я искал весь переполнение стека и Интернет, но ни один из них не был о поиске через CNContatcs.
var twoDimensionalArray = [ExpandableNames]()
var emptySearchBAR = [ExpandableNames]()
struct FavoritableContact {
let contact: CNContact
}
struct ExpandableNames {
var isExpanded: Bool
var names: [FavoritableContact]
}
делегат searchBar:
func searchBar(_ searchBar: UISearchBar, textDidChange
searchText: String) {
guard !searchText.isEmpty else { twoDimensionalArray =
emptySearchBAR
tableView.reloadData()
return }
twoDimensionalArray = emptySearchBAR.filter({ (element) -> Bool in
guard let text = searchBar.text else { return false }
print("element = \(element.names[0].contact)")
return element.names[0].contact.givenName.contains(text)
})
tableView.reloadData()
}
просмотр таблицы:
let favoritableContact = twoDimensionalArray[indexPath.section].names[indexPath.row]
cell?.phoneNumber.text = favoritableContact.contact.phoneNumbers.first?.value.stringValue
Моя проблема с этой частью:
return element.names[0].contact.givenName.contains(text)
так как это CNcontacts, я немного запутался в поиске по нему.
возвращается имя: |