Добрый день, не могу придумать как решить проблему, она заключается в том, что у меня есть ячейка с тремя полями
Можно создавать еще несколько таких же. Мне необходимо из этих textField передавать данные в экземпляр модели user. Но только в том случае, если все поля были заполнены. Т.е. каждая карточка это новый экземпляр user, я их добавляю в массив и передаю на сервер
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return cellCount + 1 // обычный int + 1, при нажатии на кнопку добавить, увеличивается и вставляет новую карточку
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// добавление первой карточки, при загрузке экрана
if indexPath.row == cellCount {
let cell = tableView.dequeueReusableCell(withIdentifier: PastEmployementNewTableViewCell.reuseIdentifier) as! PastEmployementNewTableViewCell
cell.addAnotherButtonClosure = { [weak self] in
self?.cellCount += 1
tableView.reloadData()
DispatchQueue.main.async {
let indexPath = IndexPath(row: self?.cellCount ?? 0, section: 0)
self?.tableView.scrollToRow(at: indexPath, at: .bottom, animated: true)
}
}
return cell
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: PastEmploymentTableViewCell.reuseIdentifier) as! PastEmploymentTableViewCell
cell.amountTextField.textField.delegate = self
cell.amountTextField.textField.text = amountString
// здесь мои попытки создать экземпляр юзера
if (cell.nameTextField.textField.text != "" && cell.amountTextField.textField.text != "" && cell.jobTextField.textField.text != "") {
if (userArray.count == indexPath.row) {
let user = User()
print("created user = \(user)")
user.namePastEmployer = cell.nameTextField.textField.text ?? "-"
user.jobTitle = cell.jobTextField.textField.text ?? "-"
user.days = days
user.months = months
user.years = years
userArray.append(user)
}
}
return cell
}
}