私のアプリに問題があります。私はすべてのセルがテキストフィールドで構成されているテーブルビューを持っています。私がそれを書き込んでスクロールダウンすると、スクロールアップするよりも、私が書き込んだデータは消えます。Tablet - SwiftをスクロールするとUItextFieldデータが消えます
あなたが見ることができるように、これらは私の機能の一部の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
}
}
あり、私は配列にテキストフィールドでの私の書かれたテキストのすべてを保存しています。どんな助けもありがとう。
ありがとうございます。
配列内の要素にアクセスしようとするとバウンスエラーが発生するため、カウントが増加します。 – jim
おそらく 'indexPath.row
TheAmateurProgrammer
ありがとうございました! – jim