2016-07-22 96 views
1

我想将电影的数据传递给另一个控制器,并在进程完成时传递另一个控制器。我可以用一个segue来做这个吗?我怎样才能用一个segue来做到这一点?

class LoadingScreenViewController: UIViewController { 

    var movies = [Movie]() 
    @IBOutlet weak var progress: UIProgressView! 
    @IBOutlet weak var countLabel: UILabel! 

    override func viewDidLoad() 
    { 
     NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: #selector(LoadingScreenViewController.updateProgress), userInfo: nil, repeats: true) 
     progress.setProgress(0, animated: true) 
    } 

    func updateProgress() { 
     if progress.progress != 1 { 
      self.progress.progress += 2/10 

     } else { 
      UIView.animateWithDuration(0.4, animations: { () -> Void in 

      }) 
      performSegueWithIdentifier("segue", sender:self) 
      progress.hidden = true 
      self.countLabel.hidden = true 
     } 
    } 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
    { 
     let controller : SearchViewController = segue.destinationViewController as! SearchViewController 
     if segue.identifier == "segue"{ 
      controller.model = movies 
     } 

    } 
} 
+6

请详细说明一下,你什么意思是“当进程结束时也通过另一个控制器”? – MShah

+0

你想传递给'SearchViewController'的什么值或对象? –

+0

对不起,我的语言。如果我使用2段,我的表格视图在SearchController中更新了2次。我想这一次。我无法找到执行segue或其他解决方案的传递数据 –

回答

0

执行以下操作: -

extension UIViewController { 
     func addSearchController() { 
      let searchController = UISearchController(searchResultsController: nil) 
      self.view.addSubview(searchController.searchBar) 
     } 


    } 

只需调用所需的VC viewDidLoad方法self.addSearchController()方法。不需要传递SearchController。

相关问题