Самый простой способ реализовать это - использовать делегатов.
Определить протокол в вашем CustomTableCell.h следующим образом:
@protocol CustomTableCellDelegate <NSObject>
@required
- (void)reloadMyTable;
@end
Следующий шаг - предоставить делегат var:
@interface CustomTableCell : UITableViewCell {
id<CustomTableCellDelegate> delegate;
}
@property (assign) id<CustomTableCellDelegate> delegate;
Убедитесь, что вы синтезируете свою делегат-переменную в CustomTableCell.m.
Теперь у вас определен делегат.Осталось выполнить три шага:
Когда вы создаете свою ячейку, вы должны установить делегат для этой ячейки, например
cell.delegate = self;
Убедитесь, что ваш TableViewController реализует ваш CustomTableCellDelegate.Если вы сделаете это, вы будете вынуждены реализовать - (void) reloadMyTable в вашем TableViewController:
- (void)reloadMyTable {
[self.tableView reloadData];
}
Последний шаг - вызвать этот метод из вашего CustomTableCell следующим образом:
if (self.delegate != NULL && [self.delegate respondsToSelector:@selector(reloadMyTable)]) {
[delegate reloadMyTable];
}
Подробнее о делегировании здесь .
Вкратце: вы определяете протокол в вашем CustomTableViewCell, который реализуется TableViewController.Если вы отправите сообщение-метод вашему делегату, это сообщение будет отправлено вашему TableViewController.