-3
異なるデータを含む複数の行で動的にテーブルビューを作成したいと思います。私は迅速に新しい行を作成する方法を知らない。私は3行を作成し、各行に異なるデータを追加したいと思います。私は配列データを更新することができ、テーブルビューをリロードすることができます。私はループ内のデータを更新し、テーブルビューを再ロードすると、最後のデータのみが表示されます。複数の行を含む動的なテーブルビューを迅速に作成するにはどうすればよいですか?
VAR I = 0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
tableView.frame = CGRect(x: 5, y:200 ,width: self.view.frame.width, height: 400)
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
tableView.delegate = self
tableView.dataSource = self
tableView.layer.borderWidth = 2
self.view.addSubview(tableView)
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return products.count
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
let tf = UITextField(frame: CGRect(x: 320, y: 10*i , width: 300, height:20))
tf.placeholder = "_"
tf.tag = indexPath.row
tf.font = UIFont.systemFont(ofSize: 15)
let pest = UILabel(frame: CGRect(x: 10, y: 10*i, width: 300, height: 60))
pest.font = UIFont.systemFont(ofSize: 15)
pest.numberOfLines = 0
pest.text = self.products[indexPath.row]
let pp = UILabel()
pp.text = "PP"
cell.contentView.addSubview(pest)
cell.contentView.addSubview(tf)
return cell
}
override func viewDidAppear(_ animated: Bool) {
createTable()
}
func createTable(){
for index in 1...3{
if(index == 2){
i = index
self.products = ["r1","r2","r3","r4"]
tableView.reloadData()
}
else if(index == 3){
i = index
self.products = ["d1","d2","d3","d4"]
tableView.reloadData()
}
else{
}
}
}
製品のデータを2回更新したい。しかし、私は私のデータを2回更新し、tableView.reloadData()と呼ばれる場合は、最後のデータだけが表示されます。最初のデータは表に表示されません。 – Abhishek
'reloadData()'を呼び出した後、 'products'の更新データがtableViewに表示されないということはありますか? – LFHS
self.products = ["d1"、 "d2"、 "d3"、 "d4"]がtableviewに表示されています。しかし、self.products = ["r1"、 "r2"、 "r3"、 "r4"]はtableviewに表示されません。 – Abhishek