Ios 如何将数据传递到从UIStoryboard实例化的表视图控制器?

Ios 如何将数据传递到从UIStoryboard实例化的表视图控制器?,ios,swift,Ios,Swift,我有一个带有UIScrollView的ViewController,其中包含两个TableViewController let allViewController = self.storyboard!.instantiateViewControllerWithIdentifier("ContentViewController") as! ContentViewController; let favoritesViewController = self.storyboard!.in

我有一个带有UIScrollView的ViewController,其中包含两个TableViewController

    let allViewController = self.storyboard!.instantiateViewControllerWithIdentifier("ContentViewController") as! ContentViewController;
    let favoritesViewController = self.storyboard!.instantiateViewControllerWithIdentifier("ContentViewController") as! ContentViewController;
在ScrollViewDiEndDecelling委托中的某个点,我想将当前页面从UIScrollView(1或2)发送到我的ContentViewController:

func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
    let page = Int(scrollView.contentOffset.x / scrollView.frame.size.width)

    // how to send page to ContentViewController
    //delegate.pageChanged(page)
}
protocol PageChangedDelegate {
    func pageChanged(page: Int)
}

var delegate: PageChangedDelegate!

func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
    let page = Int(scrollView.contentOffset.x / scrollView.frame.size.width)

    delegate.pageChanged(page) // delegate is nil here
}
如果我不使用prepareForSegue,如何实际将数据发送到may UITableViewController

我尝试向ViewController添加协议,但无法在ContentVieController内初始化委托:

func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
    let page = Int(scrollView.contentOffset.x / scrollView.frame.size.width)

    // how to send page to ContentViewController
    //delegate.pageChanged(page)
}
protocol PageChangedDelegate {
    func pageChanged(page: Int)
}

var delegate: PageChangedDelegate!

func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
    let page = Int(scrollView.contentOffset.x / scrollView.frame.size.width)

    delegate.pageChanged(page) // delegate is nil here
}

当您实例化一个视图控制器并向下转换时,使用“as!”您现在可以访问该视图控制器的变量

假设您的内容视图控制器有变量A、B、C,您可以这样做

let allViewController = self.storyboard!.instantiateViewControllerWithIdentifier("ContentViewController") as! ContentViewController
allViewController.A = "Setting variable A on view controller"
allViewController.B = "hi"
allViewController.C = "the view controller now has its variables assigned"