直接UITableViewsのデリゲートメソッドを呼び出します
-
26-09-2019 - |
質問
私は直接編集メソッドを呼び出す方法を探していました。
- (void)tableView:(UITableView *)theTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
私は私のモデル配列から削除し、操作された細胞をアニメーション化するためのすべての私のロジックを持っています この方法でなど。これは、ユーザーのスワイプが、追加または並び替えたときに呼び出さなっているが、私は呼び出すしたいと思います それは手動/直接バックグラウンドスレッドとしての私のモデルを変更します。
私はそうのようなNSIndexPathを構築しました
NSIndexPath *path = [NSIndexPath indexPathForRow:i inSection:1];
私はちょうどのようなものを呼び出す方法を見つけ出すことはできません
[self.tableview commitEditingStyle:UITableViewCellEditingStyleDelete forRowAtIndexPath:path];
別の方法でこのプレーンスタイルのUITableViewの方法にゲインアクセスするために行うIの必要性?
ありがとう:)
解決
あなたのコードを実行するためにあなたが望むすべてがある場合は、そのメソッドを呼び出すことはできませんなぜ私は表示されません。ドキュメントは、
という重いヒントを与えます- (void)setEditing:(BOOL)editing animated:(BOOL)animate
とにかくそのデータソースメソッドを呼び出すの効果があります。それはそれはあなたがやりたい本当に何場合は、別のメソッドにそのメソッドから、あなたのコードをリファクタリングし、あなたのコード内のデータソースメソッドから別の場所からの両方を呼び出すために、より良い理にかなってます。
あなたが本当に自分のモデルの変更、コール[tableView reloadData]
反映したい場合は - 。それはのためだものです。
他のヒント
私は確かにそれを知りませんが、
メソッドを呼び出すかもしれない場合- (void)setEditing:(BOOL)editing animated:(BOOL)animate
それcommitEditingStyleメソッドが呼び出されることを、可能性があります。
所属していません StackOverflow