1. ホーム
  2. ios

SwiftでUITableViewに新しいセルを挿入する方法

2023-09-22 05:45:14

質問

私はあるプロジェクトで、2つの UITableView があり、2 つの UITextField がある場合、ユーザがボタンを押すと、最初の textField に入るはずです。 tableView に、二つ目は二つ目の tableView . 問題は、データをどのように tableView にデータを入れる方法がわからないということです。 tableView:cellForRowAtIndexPath: でデータを挿入する方法は知っていますが、それは私の知る限り1回だけ機能します。では、どのような方法を使えば tableView を更新するためにどのような方法を使用できますか?

どのように解決するのですか?

使用方法 beginUpdatesendUpdates で、ボタンがクリックされたときに新しいセルを挿入します。

コメントで@vadianさんがおっしゃっているように begin/endUpdates は単一の挿入/削除/移動操作に対して何の効果もありません。

まず、テーブルビューの配列にデータを追加します。

Yourarray.append([labeltext])  

次に、テーブルを更新して新しい行を挿入します。

// Update Table Data
tblname.beginUpdates()
tblname.insertRowsAtIndexPaths([
NSIndexPath(forRow: Yourarray.count-1, inSection: 0)], withRowAnimation: .Automatic)
tblname.endUpdates()

これはセルを挿入するのでテーブル全体を再読み込みする必要はありませんが、もしこれで問題が発生した場合は tableview.reloadData()


Swift 3.0

tableView.beginUpdates()
tableView.insertRows(at: [IndexPath(row: yourArray.count-1, section: 0)], with: .automatic)
tableView.endUpdates()


Objective-C

[self.tblname beginUpdates];
NSArray *arr = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:Yourarray.count-1 inSection:0]];
[self.tblname insertRowsAtIndexPaths:arr withRowAnimation:UITableViewRowAnimationAutomatic];
[self.tblname endUpdates];