2016-07-22 161 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。

相關問題