Я видел способ установки обработчика событий в пользовательских классах. Что-то вроде этого:iOS handle didSelectRowAtIndexPath в пользовательском классе
@implementation CustomClassWithTable {
void (^_cellHandler)(Cell *cell);
}
...
- (void)setCellHandler:(void (^)(Cell *))handler
{
_cellHandler = handler;
}
...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
...
if (_cellHandler) {
_cellHandler(cell);
}
}
тогда в контроллере просто нужно установить cellHandler, и он работает. Мне это нравится. Прежде всего, что такое название этого подхода (образец)? Во-вторых, как я могу сделать это быстро? И это лучший aproach? Допустим, у меня есть таблица в моем пользовательском классе (меню), и я хочу, чтобы иметь возможность выбрать выделенную ячейку в моем контроллере просмотра. Должен ли я использовать этот aproach или что-то еще (например, шаблон делегата)?