我有一個自定義tableview單元格與UILabel和UITextField。我想將帶有標籤的textField中的數據附加到字典數組([label:textfield])。我可以使用textFieldDidEndEditing獲取textField數據,但我不確定如何獲取同一文本字段的單元格標籤。我想我會需要訪問該單元格的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