特定の行を削除するメソッド commitEditingStyle: をオーバーライドするテーブル ビューがあります。同じ機能を実行する別のボタンがあります。コードを再利用できるように同じ commitEditingStyle: メソッドを呼び出すことは可能ですか、それとも別の関数を記述する必要がありますか。しかし、それはレプリケートされたコードになります。
ティア
特定の行を削除するメソッド commitEditingStyle: をオーバーライドするテーブル ビューがあります。同じ機能を実行する別のボタンがあります。コードを再利用できるように同じ commitEditingStyle: メソッドを呼び出すことは可能ですか、それとも別の関数を記述する必要がありますか。しかし、それはレプリケートされたコードになります。
ティア
自分がテーブル ビューのふりをしないでください。代わりに、実際の削除コードを別の関数でラップし、真のデリゲート メソッドの実装で、次のようにそれを呼び出します。
- (void)tableView:(UITableView *)tv commitEditingStyle:(UITableViewCellEditingStyle)s forRowAtIndexPath:(NSIndexPath *)ip
{
if (s == UITableViewCellEditingStyleDelete)
[self deleteRowAtIndexPath:ip];
}
- (void)deleteRowAtIndexPath:(NSIndexPath *)ip
{
// put actual deletion code here
}
そして、「シミュレート」したい場合は、次のように呼び出します。
[self deleteRowAtIndexPath:anIndexPath];