Data source methods of UIPageViewController are not called
<p>I have the following code in my iOS app:</p>

<pre><code>class BannerTableViewCell: UITableViewCell, UIPageViewControllerDataSource {
private var pageViewController: UIPageViewController!
private var pages: [UIViewController] = []

override func awakeFromNib() {
    super.awakeFromNib()
    self.backgroundColor = UIColor.clearColor()
    self.backgroundView?.backgroundColor = UIColor.clearColor()
    self.contentView.backgroundColor = UIColor.clearColor()
    self.selectionStyle = UITableViewCellSelectionStyle.None

    pageViewController = UIPageViewController();

    self.pageViewController.dataSource = self
    pageViewController.view.frame = CGRect(x: 0, y: 0, width: UIScreen.mainScreen().bounds.width, height: 130)
    self.addSubview(pageViewController.view)

    //Example data
    let v1 = UIViewController()
    v1.view.frame = CGRect(x: 0, y: 0, width: UIScreen.mainScreen().bounds.width, height: 130);
    v1.view.backgroundColor = UIColor.blueColor()

    let v2 = UIViewController()
    v2.view.frame = CGRect(x: 0, y: 0, width: UIScreen.mainScreen().bounds.width, height: 130);
    v2.view.backgroundColor = UIColor.greenColor()

    pages.append(v1)
    pages.append(v2)
}



func pageViewController(pageViewController: UIPageViewController,
    viewControllerBeforeViewController viewController: UIViewController) -&gt; UIViewController? {
        guard let viewControllerIndex = pages.indexOf(viewController) else {
            return nil
        }

        let previousIndex = viewControllerIndex - 1

        guard previousIndex &gt;= 0 else {
            return nil
        }

        guard pages.count &gt; previousIndex else {
            return nil
        }

        return pages[previousIndex]
}

func pageViewController(pageViewController: UIPageViewController,
    viewControllerAfterViewController viewController: UIViewController) -&gt; UIViewController? {
        guard let viewControllerIndex = pages.indexOf(viewController) else {
            return nil
        }

        let nextIndex = viewControllerIndex + 1
        let orderedViewControllersCount = pages.count

        guard orderedViewControllersCount != nextIndex else {
            return nil
        }

        guard orderedViewControllersCount &gt; nextIndex else {
            return nil
        }

        return pages[nextIndex]
}

func presentationCountForPageViewController(pageViewController: UIPageViewController) -&gt; Int {
    return pages.count
}

func presentationIndexForPageViewController(pageViewController: UIPageViewController) -&gt; Int {
    return 0
}
}
</code></pre>

<p>I instantiate this cell in the table view, however page view controller in this cell is always empty, and the data source methods of pageViewController are not called. Do you have any idea why they are not called?</p>