2016-07-22 12 views
1

ムービーのデータを別のコントローラーに渡したい場合は、進行が完了したら別のコントローラーも渡します。これを1つのセグで行うことはできますか?これをどのように1つのセグで行うことができますか?

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回更新されます。私はこの1回したい。私はsegueや他のソリューションを実行してパスデータを見つけることができません –

答えて

0

次の操作を行います -

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


    } 

ただ必要なVCのviewDidLoadメソッドでself.addSearchController()メソッドを呼び出します。 SearchControllerを渡す必要はありません。

関連する問題