Итак, у меня есть массив структур, где я добавляю данные из своего json. Существуют разные типы данных в одном массиве.Добавить ячейку, только если выполнены определенные условия
struct PersonData {
let name: String
let age: String
let sex : String
}
Что я хочу сделать, это реализовать pickerView, который перезагрузит представление таблицы в зависимости от того, что пользователь выбирает. Допустим, у меня есть 2 варианта выбора, где пользователь может выбрать пол и возраст.
Так что, если он выбрал всех мужчин с 17-летним, я хочу показать только это на столе.
я уже могу получить счетчик на массив, но я не могу вернуть ноль по методу UITableViewCell
Я хотел сделать что-то вроде этого:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseCell", for: indexPath) as! CellTeatroTableViewCell
if(option == 0) //All persons. Default option
{
cell.name.text = dataArray[indexPath.row].name
return cell
}
else
{
if(dataArray[indexPath.row].age == agePickerOption || dataArray[indexPath.row].sex == sexPickerOption)
{
cell.name.text = dataArray[indexPath.row].name
return cell
}
}
return nil
}
Я знаю, я не могу вернуть ноль, так как он ожидает UITableViewCell, но его возможно только увеличить indexPath, если выполняются определенные условия?
Или мне нужно добавить ячейку и удалить ее сразу после? Это звучит не так.
Черт, как я пропустил это? Такое простое решение. Я не знаю, как я мог пропустить использование одного массива в качестве источника данных. Большое спасибо Lopes! – Adrian
Нет проблем;) Хорошее кодирование – LopesFigueiredo