Question: My app keeps crashing, when I set more than one view controller in my app, like below.

```
[self setViewControllers:_images direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL];

```

My images is an array of view controllers.

The app crashes saying the following error. I have no idea where to start.

```
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The number of view controllers provided (9) doesn't match the number required (1) for the requested transition

```

Answer: 
ok, this is the problem.

In your View Controller, you will have something like this.

```
private var mainPageView : UIPageViewController!

private var arrayOfVC = [UIViewController]()

```

now, if you try to set an array of VC (View Controllers) like this:

```
   self.mainPageView.setViewControllers(arrayOfVC, direction: .forward, animated: true, completion: nil)

```

There will be an error something like this:

> 
> 'The number of view controllers provided (9) doesn't match the number required (1) for the requested transition
> 
> 
> 

So, to fix this problem you need to set first VC from an array of VC's

```
self.mainPageView.setViewControllers([arrayOfVC[0]], direction: .forward, animated: true, completion: nil)

```

And handle the rest in Page View Delegate and Data Source.

That is all :)

p.s. **SWIFT** - 5.5
UIPageViewController in iOS has some bugs.
Use UIScrollView + NSArray of UIViewController instead!
Maybe this will help.
<http://weijun.me/post/develop/2015-11-26>