UIPageViewController怎么手动切换下一页

我用的xcode自带的模板项目
一共ModelController,DataViewController,RootViewController 三个。
[code=objc]//

#import "ModelController.h"
#import "DataViewController.h"

@interface ModelController()
@property (readonly, strong, nonatomic) NSArray *pageData;
@end

@implementation ModelController

  • (id)init
    {
    self = [super init];
    if (self) {
    // Create the data model.
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    _pageData = [[dateFormatter monthSymbols] copy];
    }
    return self;
    }

  • (DataViewController *)viewControllerAtIndex:(NSUInteger)index storyboard:(UIStoryboard *)storyboard
    {

    // Return the data view controller for the given index.
    if (([self.pageData count] == 0) || (index >= [self.pageData count])) {
    return nil;
    }

    // Create a new view controller and pass suitable data.
    DataViewController *dataViewController = [storyboard instantiateViewControllerWithIdentifier:@"DataViewController"];
    dataViewController.dataObject = self.pageData[index];
    return dataViewController;
    }

  • (NSUInteger)indexOfViewController:(DataViewController *)viewController
    {

    // Return the index of the given data view controller.
    // For simplicity, this implementation uses a static array of model objects and the view controller stores the model object; you can therefore use the model object to identify the index.
    return [self.pageData indexOfObject:viewController.dataObject];
    }

#pragma mark - Page View Controller Data Source

  • (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
    {
    NSUInteger index = [self indexOfViewController:(DataViewController *)viewController];
    if ((index == 0) || (index == NSNotFound)) {
    return nil;
    }

    index--;
    return [self viewControllerAtIndex:index storyboard:viewController.storyboard];
    }

  • (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
    {
    NSUInteger index = [self indexOfViewController:(DataViewController *)viewController];
    if (index == NSNotFound) {
    return nil;
    }

    index++;
    if (index == [self.pageData count]) {
    return nil;
    }
    return [self viewControllerAtIndex:index storyboard:viewController.storyboard];
    }

@end
[/code]

RootViewController的代码:
[code=objc]@interface ModelController()
@property (readonly, strong, nonatomic) NSArray *pageData;
@end

@implementation ModelController

  • (id)init
    {
    self = [super init];
    if (self) {
    // Create the data model.
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    _pageData = [[dateFormatter monthSymbols] copy];
    }
    return self;
    }

  • (DataViewController *)viewControllerAtIndex:(NSUInteger)index storyboard:(UIStoryboard *)storyboard
    {

    // Return the data view controller for the given index.
    if (([self.pageData count] == 0) || (index >= [self.pageData count])) {
    return nil;
    }

    // Create a new view controller and pass suitable data.
    DataViewController *dataViewController = [storyboard instantiateViewControllerWithIdentifier:@"DataViewController"];
    dataViewController.dataObject = self.pageData[index];
    return dataViewController;
    }

  • (NSUInteger)indexOfViewController:(DataViewController *)viewController
    {

    // Return the index of the given data view controller.
    // For simplicity, this implementation uses a static array of model objects and the view controller stores the model object; you can therefore use the model object to identify the index.
    return [self.pageData indexOfObject:viewController.dataObject];
    }

#pragma mark - Page View Controller Data Source

  • (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
    {
    NSUInteger index = [self indexOfViewController:(DataViewController *)viewController];
    if ((index == 0) || (index == NSNotFound)) {
    return nil;
    }

    index--;
    return [self viewControllerAtIndex:index storyboard:viewController.storyboard];
    }

  • (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
    {
    NSUInteger index = [self indexOfViewController:(DataViewController *)viewController];
    if (index == NSNotFound) {
    return nil;
    }

    index++;
    if (index == [self.pageData count]) {
    return nil;
    }
    return [self viewControllerAtIndex:index storyboard:viewController.storyboard];
    }

@end[/code]

这是DataViewController

  • (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.dataLabel.text = [self.dataObject description]; }

我要在DataViewController里进行翻页 要怎么办? 我试了把ModelViewController传进来 调用 [_modelViewController viewControllerAtIndex:index storyboard:viewController.storyboard];
没有效果

求大神帮助 ,我是新手