テーブルビュー内のセルからテキストフィールドデータを順序付けられた方法で取得する方法を理解しようとしています。これまでは、各テキストフィールドに型データを取り出すことができました。ユーザーが最初のセル...最後のセルを編集する必要がありますが、正しい順序でこれを行うには、他の方法で、データが正しい順序ではありません。例についてはSwift(3.1)テーブルビューで動的に作成されたセルからオーダーされたTextFieldデータを取得する
:
私はプログラムを持っているが、テキストフィールドと5個の細胞、
- テキストフィールド1を作成します。私はここ
- 第二のTextField2を入力:私はここで第四
- テキストフィールド3を入力:私は、入力されましたここに最初に
- textfield4:ここに5番目に入力しました
- textfield5:ここに3番目に入力しました
私が現在持っている方法は、データ配列が入力されたときとセルの順序でないときに基づいて格納されているため、dataArrayはこれと同じに見えます。 私は上記の例を入力したいのですが、私のデータは次のように出てくる:
- テキストフィールド1:私はここに最初に入力された
- のTextField2:私はここ二型付け
- テキストフィールド3:私はここに第三 を入力しました
- テキストフィールド4:私はここで第四
- テキストフィールド5を入力:私はここにここに
第五を入力したが、私のテキストフィールドの編集コードです:
@IBAction func TitleEditBegin(_ sender: UITextField) {
}
@IBAction func TitleEditEnd(_ sender: UITextField) {
print(sender.tag) // Debug
titleArray.append(sender.text!)
}
当面、他の変更がtitleArrayに追加されることはわかっていますが、まず注文の問題を解決したいと思います。
ありがとうございます!
編集:私は、細胞を作成していますどのように追加するのを忘れ、以下のコードは、次のとおりです。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = TitleSessionTableView.dequeueReusableCell(withIdentifier: textCellIdentifier, for: indexPath) as! TitleSessionCell
cell.SessionTitleLabel.text = "Title"
// cell.SessionTitleField.text = "Default"
cell.SessionTitleField.tag = indexPath.row
cell.SessionTitleField.delegate = self
print(indexPath.row) // Debug
return cell
}
はEDIT 2:私は、テキストフィールドを定義しを追加します。
import Foundation
import UIKit
class TitleSessionCell: UITableViewCell{
@IBOutlet weak var SessionTitleField: UITextField!
@IBOutlet weak var SessionTitleLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
}
}
私の今の問題は、最初に編集されたテキストフィールドにsender.tag = 0が与えられていることです。それが起こると、それ以外のものはすべて消えてしまいます。それをタグにするためにセルを呼び出す方法はありますか? – rutheferd
あなたcellForRow関数を投稿することができます – Sethmr
編集しました – rutheferd