Вызов UiableViews Делегированные методы напрямую
-
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];
Нужно ли получить доступ к методам этого простого стиля UiableView другим способом?
Спасибо:)
Решение
Я не понимаю, почему вы не можете вызвать этот метод, если все, что вы хотите, для вашего кода будет выполнен. Документы дают тяжелую намек на то, что
- (void)setEditing:(BOOL)editing animated:(BOOL)animate
будет иметь эффект вызывать этот метод источника данных в любом случае. Это позволило бы лучше решить ваш код из этого метода в другой метод и вызвать его как из метода источника данных, так и из других стран в вашем коде, если это действительно то, что вы хотите сделать.
Если вы действительно хотите просто отражать изменения в вашей модели, то позвоните [tableView reloadData]
- Это то, что это за.
Другие советы
Я не знаю это точно, но, может быть, если вы позвоните методу
- (void)setEditing:(BOOL)editing animated:(BOOL)animate
Это может быть, что метод зачисления называется.