2017-07-28 102 views
0

我使用的是UIPageViewController,我試圖調用委託函數:從自定義函數中如何從自定義函數中調用委託函數?

public func pageViewController(_ pageViewController: UIPageViewController, willTransitionTo pendingViewControllers: [UIViewController]) { 
} 

func timer() { 
//Call UIPageViewController, willTransitionTo here 
} 

有沒有辦法做到這一點?

+0

這是一個委託方法,沒有任何事件就不會被調用。所以你應該採取行動,讓這個方法被調用。 –

回答

0

在調用函數之前,您需要在視圖控制器中設置相關實例的委託,例如

let pvc = UIPageViewController() 
pvc.delegate = self // assumes that the class adopts UIPageViewController delegate protocol and adheres to it 

然後,您可以訪問的委託,進而調用該委託的任何方法,像這樣:

func timer() { 
    let pvcDelegate = pvc?.delegate 
    // use pvcDelegate followed by function you wish to call 
} 

但是這將是不尋常的自行調用委託方法。通常,它將是調用委託的UIPageViewController實例。