Этот код очень близок, и, как показывает другой ответ, у вас есть два массива.
Но давайте действительно упростим проблему: вам нужен только один массив, поскольку вы фильтруете Firebase, а не массив.
Другими словами, когда пользователь вводит данные в searchField, вы запрашиваете у Firebase результаты и помещаете их в массив. Это тот же массив, который вы должны использовать в качестве источника данных для вашего tableView.
Когда ваш код сидит, вы фильтруете Firebase, а затем фильтруете те результаты снова , которые не нужны.
Итак, на высоком уровне предполагается, что у нас в базе данных четыре пользователя
Larry
Moe
Monroe
Curly
пользователь вводит 'Mo' в поле поиска, которое вызывает выполнение вашего запроса Fire. Он вернет два результата:
Mo
Monroe
, который затем заполняется в массив - мы назовем его userResultsArray.
1021 * тогда *
tableView.reloadData()
, который затем вызывает методы делегата tableView
func tableView(_ tableView: UITableView, numberOfRowsInSection
return userResultsArray.count
и
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
get the user from userResultsArray
return the user name
Как показано, вам нужен только один массив для хранения запрашиваемых (отфильтрованных) результатов из Firebase.