here is sample, I did for circular pagination
I was using Using UIPageViewController to create a content slider (Objective-C/Swift) article but thanks to @Tom Calmon and @Roshani now I am able to achieve my desired result on Swift 2.2
class PageHomeViewController: UIViewController , UIPageViewControllerDataSource{
// MARK: - Variables
private var pageViewController: UIPageViewController?
// Initialize it right away here
private let contentImages = ["nature_pic_1.png",
"nature_pic_2.png",
"nature_pic_3.png",
"nature_pic_4.png"];
//MARK: - View controller life cycle methods
override func viewDidLoad() {
super.viewDidLoad()
createPageViewController()
setupPageControl()
}
//MARK: - Create and start page view controller
private func createPageViewController() {
let pageController = self.storyboard!.instantiateViewControllerWithIdentifier("PageViewController") as! UIPageViewController
pageController.dataSource = self
if contentImages.count > 0 {
let firstController = getItemController(0)!
let startingViewControllers: NSArray = [firstController]
pageController.setViewControllers(startingViewControllers as? [UIViewController], direction: UIPageViewControllerNavigationDirection.Forward, animated: false, completion: nil)
}
pageViewController = pageController
addChildViewController(pageViewController!)
self.view.addSubview(pageViewController!.view)
pageViewController!.didMoveToParentViewController(self)
}
private func setupPageControl() {
let appearance = UIPageControl.appearance()
appearance.pageIndicatorTintColor = UIColor.grayColor()
appearance.currentPageIndicatorTintColor = UIColor.whiteColor()
appearance.backgroundColor = UIColor.darkGrayColor()
}
// MARK: - UIPageViewControllerDataSource
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
var index: Int = (viewController as! PageContentViewController).itemIndex
if index == 0 || index == NSNotFound {
index = contentImages.count
}
index -= 1
return getItemController(index)
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController?{
var index: Int = (viewController as! PageContentViewController).itemIndex
if index == NSNotFound {return nil}
index += 1
if index == contentImages.count {index = 0}
return getItemController(index)
}
private func getItemController(itemIndex: Int) -> PageContentViewController? {
if itemIndex < contentImages.count {
let pageItemController = self.storyboard!.instantiateViewControllerWithIdentifier("PageContentViewController") as! PageContentViewController
pageItemController.itemIndex = itemIndex
pageItemController.imageName = contentImages[itemIndex]
return pageItemController
}
return nil
}
// MARK: - Page Indicator
func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int {
return contentImages.count
}
func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int {
return 0
}
}

Hope this will help out there someone , someday!!