Ich habe Probleme mit meiner App. Ich habe eine Tabellenansicht, in der jede Zelle aus einem Textfeld besteht. Wenn ich darin schreibe und nach unten scrolle, dann zurück scrolle, verschwinden die Daten, die ich darin geschrieben habe.UItextField-Daten verschwinden, wenn ich durch den TableView blättern - Swift
Dies sind einige meiner Funktionen in Viewcontroller
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate, UIScrollViewDelegate {
var arrayOfNames : [String] = [String]()
var rowBeingEdited : Int? = nil
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return initialNumberOfRows
}
var count: Int = 0;
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: TableViewCell = tableView.dequeueReusableCell(withIdentifier: "Cell") as! TableViewCell
if(arrayOfNames.count > 0 && count < arrayOfNames.count) {
cell.TextField.text = self.arrayOfNames[indexPath.row]
}else{
cell.TextField.text = ""
}
count += 1
cell.TextField.tag = indexPath.row
cell.TextField.delegate = self
return cell
}
func textFieldDidEndEditing(_ textField: UITextField) {
let row = textField.tag
if row >= arrayOfNames.count {
for _ in ((arrayOfNames.count)..<row+1) {
arrayOfNames.append("") // this adds blank rows in case the user skips rows
}
}
arrayOfNames[row] = textField.text!
rowBeingEdited = nil
}
func textFieldDidBeginEditing(_ textField: UITextField) {
rowBeingEdited = textField.tag
}
}
Wie Sie sehen können, bin ich alle meine geschriebenen Text in das Textfeld in ein Array zu speichern. Jede Hilfe wäre willkommen.
Vielen Dank im Voraus
Anzahl erhöht wird, weil ich bekomme einen Bounce-Fehler für den Zugriff auf ein Element in meinem Array – jim
statt vielleicht 'indexPath.row
TheAmateurProgrammer
Danke, das hat funktioniert! – jim