0

Я использую SWRevealViewController. Моя цель - обработать выбранный пункт меню в виде спереди через делегатский протокол - не через метод prepareforsegue.SWRevealViewController. Как я могу обработать элемент меню, выбранный в виде спереди по протоколу делегата?

Например, я хотел бы использовать протокол в классе заднего вида, назначить вид спереди в качестве делегата, и когда какой-либо элемент меню будет выбран в виде сзади, я вызову метод делегата и отправлю тег menuItem.

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

Не могли бы вы предложить некоторую реализацию?

ответ

0

Не удалось найти реализации с делегатом протокола.

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

Так что я нашел реализацию через NSNotificationCenter для публикации выбранного пункта меню.

Это пример кода в виде сзади (я использую Tableview для просмотра меню):

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *selectedCell=[tableView cellForRowAtIndexPath:indexPath]; 
    NSNumber *menuItemTag = [NSNumber numberWithInteger:selectedCell.tag]; 
    [[NSNotificationCenter defaultCenter] postNotificationName:MENU_ITEM_SELECTED_NOTIFICATION_KEY object:menuItemTag]; 

    // close menu 
    [self.revealViewController revealToggleAnimated:YES];  
} 

Если вы знаете, как использовать протокол делегат для этого, пожалуйста, дайте мне знать.

Смежные вопросы