Cómo configurar correctamente un UIPageViewController

UIPageViewController un UIPageViewController a mi proyecto para crear una pantalla de paso, pero puedo entender cómo hacer que esto funcione usando storyboards.

Primero he definido los dos methods de origen de datos: viewControllerBeforeViewController y viewControllerAfterViewController .

 - (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController { NSUInteger index = [(WalktroughScreenPageViewController *)viewController index]; if (index == 0) { return nil; } index--; return [self viewControllerAtIndex:index]; } - (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController { NSUInteger index = [(WalktroughScreenPageViewController *)viewController index]; index++; if (index == 3) { return nil; } return [self viewControllerAtIndex:index]; } - (WalktroughScreenPageViewController *)viewControllerAtIndex:(NSUInteger)index { WalktroughScreenPageViewController *childViewController = [[WalktroughScreenPageViewController alloc] init]; childViewController.index = index; return childViewController; } 

También para mostrar los puntos en la parte inferior, agregué estos dos methods:

 - (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController { return 3; } - (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController { return 0; } 

Lo que puedo entender es cómo hacer la configuration en ViewDidLoad . EXC_BAD_ACCESS algo como esto que me da un error EXC_BAD_ACCESS :

 - (void)viewDidLoad { [super viewDidLoad]; self.dataSource = self; WalktroughScreenPageViewController *ic = [self viewControllerAtIndex:0]; [self setViewControllers:@[ic] direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:nil]; } 

¿Alguien puede apuntarme a la dirección correcta?