Вопрос

Я искал способ вызвать метод редактирования напрямую.

- (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

Это может быть, что метод зачисления называется.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top