Ios 在UIPageViewController中手动切换视图会导致异常

Ios 在UIPageViewController中手动切换视图会导致异常,ios,objective-c,Ios,Objective C,我有一个UIPageViewController,它显示两个UIViewController,并允许用户在这两个控制器之间滑动。我实现了一个按钮,允许用户在两者之间手动切换。执行此操作的代码如下所示: [self setViewControllers:@[[self.storyboard instantiateViewControllerWithIdentifier:@"PlayersViewController"]] direction:UIPageViewControllerNavigati

我有一个UIPageViewController,它显示两个UIViewController,并允许用户在这两个控制器之间滑动。我实现了一个按钮,允许用户在两者之间手动切换。执行此操作的代码如下所示:

[self setViewControllers:@[[self.storyboard instantiateViewControllerWithIdentifier:@"PlayersViewController"]] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:^(BOOL completion){}];
不幸的是,每次我按下按钮,都会出现一个异常,显示:

*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'*-[\u NSPlaceholderArray initWithObjects:计数:]:尝试从对象[0]插入零对象'

我从扩展UIPageViewControllerDelegate的自定义类调用该方法

任何帮助都将不胜感激

**编辑:

以下是我的自定义类的相关部分:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.dataSource = self;
    gvc = [[GamesViewController alloc] init];
    pvc = [[PlayersViewController alloc] init];
    [self setViewControllers:@[[self.storyboard instantiateViewControllerWithIdentifier:@"GamesViewController"]] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
}

- (void) slidepage
{
    [self setViewControllers:@[[self.storyboard instantiateViewControllerWithIdentifier:@"PlayersViewController"]] direction:UIPageViewControllerNavigationDirectionReverse animated:NO completion:^(BOOL completion){NSLog(@"hihi");}];
}

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
    if ([viewController isKindOfClass:[GamesViewController class]])
        return nil;

    return [self.storyboard instantiateViewControllerWithIdentifier:@"GamesViewController"];
}

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
    if ([viewController isKindOfClass:[PlayersViewController class]])
        return nil;

    return [self.storyboard instantiateViewControllerWithIdentifier:@"PlayersViewController"];
}
看来

[self.storyboard instantiateViewControllerWithIdentifier:@"PlayersViewController"]

返回
nil
。这意味着
self.storyboard
nil
,或者storyboard找不到给定标识符的视图控制器。

您至少可以发布自定义类的代码吗?
storyboard
属性是如何声明的?它在我的代码中没有明确声明。它不是从UIViewController继承的属性吗?文档中的声明是@property(非原子、只读、保留)UIStoryboard*故事板是的,您是对的。文档说明,如果未从情节提要加载视图控制器,则该属性为nil。因此,下一个问题是,如何实例化此视图控制器?[self.storyboard instanceeviewcontrollerwhiteIdentifier:@“PageViewController”];在调试和查看类的属性之后,我发现storyboard为零。你有什么建议来解决这个问题吗?