У меня есть пользовательская ячейка tableView с UILabel и UITextField. Я хотел бы добавить данные из textField с меткой в массив словарей ([label: textfield]). Я могу получить данные textField с помощью textFieldDidEndEditing, но я не уверен, как получить метку ячейки для того же текстового поля. Я думаю, мне нужен доступ к indexPath этой ячейки. Я попытался отправить уведомление DidSelectRow, но это показалось слишком сложным.Добавление пользовательской метки ячеек и текста TextField в массив словаря
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: expenseCell, for: indexPath) as! LineItemTableViewCell
let sectionsArray = expenses[sections[indexPath.section]]
let expenseItem = sectionsArray?[indexPath.row]
cell.budgetLineItemView.label.text = expenseItem!
cell.budgetLineItemView.lineItemTextField.delegate = self
return cell
}
//MARK: UITextField Delegate
func textFieldDidBeginEditing(_ textField: UITextField) {
textField.layer.borderColor = UIColor.blue.cgColor
textField.keyboardType = .decimalPad
textField.becomeFirstResponder()
}
func textFieldDidEndEditing(_ textField: UITextField) {
//get textfield text after editing here
}
Это мой словарь:
var expenses:[String:[[String:Double]]] = ["Housing":[["Rent/Mortgage":0.0],
["Gas":0.0],["Water/Power":0.0],["Cable/Internet":0.0],["Garbage":0.0],["Property
Tax":0.0],["Homeowners/Renters Insurance":0.0]],"Transportation":[["Car
Payment":0.0],["Car Insurance":0.0],["Roadside Insurance":0.0]],"Other Expenses":
[["Health Insurance":0.0],["Life Insurance":0.0],["Disability Insurance":0.0],
["Student Loans":0.0],["Cell Phone":0.0],["Other":0.0]]]
Вы можете сделать это 'для ячейки в tableView.visibleCells() как! [UITableViewCell] { // делаем что-то с ячейкой здесь.} ' – iphonic
Это позволяет мне видеть, что каждый элемент в каждой видимой ячейке, но он не позволяет мне обновлять и добавлять значения этих ячеек в мой словарь (см. обновление) –
Не позволяет вам обновлять? какой тип объекта у вас есть, если его 'NSArray или NSDictionary' вам нужно использовать' NSMutableArray или, NSMutableDictionary' и после изменения значений перезагружать таблицу. – iphonic