поиск через CNContacts в табличном представлении - PullRequest
0 голосов
/ 07 января 2019

Я сделал очень простую адресную книгу, которая показывает картинку, имя и номер телефона пользователя. И я реализовал их в виде таблицы, теперь я добавил панель поиска для таблицы, и она не ведет себя так, как я хочу !!

мой стол работает нормально. Я искал весь переполнение стека и Интернет, но ни один из них не был о поиске через 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, я немного запутался в поиске по нему. возвращается имя: |

...