2016-11-24 3 views
-1

나는 UIPageViewController을 구현하기 위해 노력하고 나는 다음과 같은 오류가 점점 오전에 적합하지 않습니다 ShopViewController가 일치하지 않습니다 내 코드는 나에게 말한다 오류가 제공하는 다음UIPageViewController는 - 프로토콜

import UIKit 

class ShopViewController: UIPageViewController, UIPageViewControllerDataSource { 

    override func viewDidLoad() { 
    super.viewDidLoad() 
    } 

    override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    } 
} 

입니다 protocol UIPageViewControllerDataSource입니다.

class ShopViewController: UIPageViewController, UIPageViewControllerDataSource { 

    func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? 

    func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? 

    override func viewDidLoad() { 
    super.viewDidLoad() 

    } 

    override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    } 
    } 

하지만 여전히 같은 + 예상 없다는 오류를 얻을 : 그래서 내 코드는 지금 수행 한 후

func pageViewController(pageViewController: UIPageViewController,  viewControllerAfterViewController viewController: UIViewController) -> UIViewController? 

func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? 

:

그래서 나는 다른 스레드가 나는 다음과 같은 기능을 추가하는 것이 제안 발견 {함수의 선언문에서 2 개의 새로운 함수를 추가했습니다.

아무도 도와 줄 수 있습니까? 당신이 UIPageViewController를 사용하고 대리자 메서드 viewControllerAfter 및이 오류를 얻고있는 이유 UIPageViewController 그게 전부의 viewControllerBefore을 구현하지 않는 한

+0

모든 작업은 프로토콜에 표시되는 일부 기능을 정의하는 것입니다. 실제로 원하는 것을 수행하는 함수의 * 구현 *을 추가해야합니다. 예. 다음/이전보기 컨트롤러를 반환하는 코드를 추가하십시오. – Paulw11

+0

감사합니다. –

답변

1

당신은, 다음과 같이 사용합니다.

class ShopViewController: UIPageViewController, UIPageViewControllerDataSource { 

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? { 
     // Returns the view controller after the given view controller. 
     return self 
    } 

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { 
     // Returns the view controller before the given view controller. 

     return self 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 
}