簡體   English   中英

Swift協議委派不起作用

[英]Swift Protocol delegation not working

我有一個viewController ,其中有一個containerViewpageView 當我從pageView滑動視圖后,我想在viewController中調用一個函數,在下面的代碼中進行了嘗試,但是它正在調用buttonMaskColor請問我的問題在哪里?

class PlaceMenuDetailsViewController: UIViewController, PageViewSliderDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        detailsButton.pageDelegation = self
    }

    func buttonMaskColor(){
        println("delegate work")
    }
}

class DetailPageViewController: UIPageViewController, UIPageViewControllerDelegate, UIPageViewControllerDataSource {

    weak var pageDelegation:PageViewSliderDelegate?

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

    pageDelegation?.buttonMaskColor()

    var page = (viewController as! PageDelegate).pageNumber + 1
    return viewControllerForPage(page)
}

在為嵌入的序列提供標識符和標識符之后,應在mainView的prepareForSegue函數中將self分配給pageDelegation,如下所示:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    if segue.identifier == "embedSegueIdentifier" {

        let distinationVC = segue.destinationViewController as? DetailPageViewController

        distinationVC?.pageDelegation = self

    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM