Как я могу удалить пользовательский UITableViewCell без использования commitEditingStyle? - PullRequest
1 голос
/ 27 сентября 2011

У меня есть пользовательский UITableViewCell, на котором постоянно находится кнопка удаления.

Когда кнопка удаления нажата, текущим дизайном является мигание предупреждения, подтверждающего удаление с помощью Да / Нет.

Пока все это работает.

Проблема в том, что нажатие кнопки «Да» не обновляет UITableView.Это удалит данные из модели, но строка все еще будет там.

[table beginUpdates];

//modify model code goes here

[table deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];

[table endUpdates];

[table reloadData];

Таким образом, приведенный выше код обновит модель, но не представление.Я могу сказать, что модель обновляется, потому что:

(A) попытка удалить ту же ячейку снова приводит к сбою

(B) при переходе на другой экран и возвращении приводит кудаляемая ячейка

Я бы хотел, чтобы результат (B) не покинул экран.

Я не хотел бы использовать commitEditingSyle, если не существует способа сделать это без ведома пользователя.они редактируют.Я, конечно, не хочу стандартную кнопку удаления или проведите пальцем, чтобы удалить функциональность.

1 Ответ

1 голос
/ 12 января 2012

Как я понимаю, вы удаляете свою модель.
В ситуации B снова появится представление, которое перезагружает ваши данные и создает UITableView.

Когда вы удаляете свою модель, вы удаляетеэто из коллекции?
думаю нет.Ваше приложение перестроит представление с теми же данными (ваша модель не удаляется из памяти при перезагрузке данных).

Ваш поток должен быть следующим:

View loads/appears
   Load Data
   Load table

Model Delete Action
   Delete Data
   (Re)Load Data
   Load table

I'mне уверен, но я думаю, что вы забыли перезагрузить данные.

Еще один совет:
Вы должны использовать слайд для удаления. Это стандарт, определенный в Руководстве по взаимодействию с человеком (HIG)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...