"unrecognized selector sent to instance" 使用 SWRevealViewController 执行 SegueWithIdentifier 时出错

"unrecognized selector sent to instance" error during performSegueWithIdentifier, using SWRevealViewController

我是 iOS 开发的新手,我正在使用 John Lluch 著名的 SWRevealViewController 实现滑出式菜单。我正在关注此视频教程:

https://www.youtube.com/watch?v=5SUV1YY2yxQ

到目前为止我有这个故事板:

初始场景(显示视图控制器)正在尝试自动触发第一个两个转场(到 Table 视图和导航控制器)。

当我构建应用程序时,出现以下错误:

[SWRevealViewController initWithIdentifier:source:destination:]: 无法识别的选择器发送到实例 0x7d96f000

此错误发生在我在下面指出的行中,在 'loadStoryboardControllers' 方法中,在 SWRevealViewController.m 中(这是我初始 'RevealViewController' 场景的 class在故事板上)

- (void)loadStoryboardControllers
{
    if ( self.storyboard && _rearViewController == nil )
    {
        //Try each segue separately so it doesn't break prematurely if either Rear or Right views are not used.
        @try
        {
            //**ERROR OCCURS ON FOLLOWING LINE**
            [self performSegueWithIdentifier:SWSegueRearIdentifier sender:nil];
        }
        @catch(NSException *exception) {}

        @try
        {
            //**ANOTHER ALMOST IDENTICAL ERROR OCCURS ON FOLLOWING LINE**
            [self performSegueWithIdentifier:SWSegueFrontIdentifier sender:nil];
        }
        @catch(NSException *exception) {}

        @try
        {
            [self performSegueWithIdentifier:SWSegueRightIdentifier sender:nil];
        }
        @catch(NSException *exception) {}
    }
}

出现错误时,'SWSegueRearIdentifier'的值为@"sw_rear",是正确的。这是我给 segue 的标识符。 SWRevealViewController 的工作方式是它首先查找标识为 "sw_rear" 的 segue,以便自动触发它。

可能是什么原因导致错误,或者我可以做些什么来进一步调试?

initWithIdentifier:source:destination:UIStoryboardSegueclass实现的方法。它在 segue 操作期间被调用。

在这种情况下,它是针对 UIViewController subclass 调用的,导致异常。

在 InterfaceBuilder 中,确保 Segue 的自定义 class 是有效的 UIStoryboardSegue subclass - 对于 SWRevealController,它应该是 SWRevealViewControllerSegueSetController