shouldPerformSegueWithIdentifier не работает с SWRevealViewController

Я пытаюсь вызвать предупреждение и запросить оплату за премиум-функции в моем приложении до того, как произойдет переход, но shouldPerformSegue, похоже, не работает. У меня есть SWRevealViewController, которое открывает боковое меню, из которого я вручную подключил segue в моей раскадровке. Я щелкнул Segue и назвал его.

override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject?) -> Bool {
    if identifier == "advanced_segue" {
        purchaseRequest()
        print("shouldPerformSegue working")
        return false
    } else {
    return true }
}

См. Прикрепленное изображение. Пример на временной шкале


person Jacobo Koenig    schedule 17.01.2016    source источник


Ответы (2)


Вам не хватает класса перехода, попробуйте использовать SWRevealViewControllerSeguePushController или SWRevealViewControllerSegueSetController

person garanda    schedule 17.01.2016
comment
Спасибо за Ваш ответ. Это именно то, о чем я думал, но я не знаю, как получить доступ к свойству cellClicked SWRevealVC, поскольку я разработал его вручную. Не могли бы вы дать мне несколько советов по этому поводу? - person Jacobo Koenig; 18.01.2016
comment
@JacoboKoenig Это текстовое поле справа внизу, где у вас есть advanced_segue в инспекторе раскадровки справа. - person Steve Moser; 28.03.2016

Поместите точку останова в оператор if, чтобы убедиться, что он входит. Если это так, то это может быть связано с переходом. Попробуйте использовать настраиваемый тип перехода библиотеки «Показать контроллер push контроллера».

person mcfisty    schedule 17.01.2016
comment
Привет, мне нужно напечатать операторы print () в функции до и после оператора if. Ничего не активируется. Я пробовал использовать разные сегменты, но ни один из них не работает. Кроме того, я должен отметить, что боковое меню переходит к другому виду, не связанному с Reveal View Controller. - person Jacobo Koenig; 18.01.2016