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