Кнопка «Удалить» в UIViewController, которая показывает детали ячейки - PullRequest
1 голос
/ 13 июня 2011

У меня есть приложение для iPhone, у которого есть табличное представление, которое содержит ячейки, которые при касании показывают детали этого объекта. Я хотел бы добавить кнопку Удалить в нижней части подробного представления. Когда пользователь нажимает на него, объект, представленный ячейкой, должен быть удален, а приложение должно вернуться к TableView.

С точки зрения передового опыта, какой идеальный способ сделать это?

Ответы [ 2 ]

2 голосов
/ 13 июня 2011

Существует несколько способов сообщить об удалении.Один из них - делегаты.Вы можете определить свой делегат следующим образом:

@protocol DetailViewControllerDelegate
- (void)shouldDeleteDetailObject:(id)object
@end

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

- (void)shouldDeleteDetailObject:(id)object {
    [self.objectsArray removeObject:object];
    [self.navigationController popViewControllerAnimated:YES];
}

И затем вы получите сообщение [self.tableView reloadData];viewWillAppear:, как указал sandy.

Ваше действие кнопки будет реализовано как

- (IBAction)deleteObject {
    if ( self.delegate && [self.delegate respondsToSelector:@selector(shouldDeleteDetailObject:)] ) {
        [self.delegate shouldDeleteDetailObject:self.detailObject];
    }
}

И делегат должен быть assign ed свойством.

Вы можететакже посмотрите на уведомления, но это лучший маршрут для этой ситуации.

0 голосов
/ 13 июня 2011

Я думаю, что в этом нет ничего серьезного, если вы успешно удаляете определенные детали после этого при поддержке предыдущего представления (табличного представления), вы просто используете это

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.tableView reloadData];  
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...