简体   繁体   English

我怎样才能做到这一点?

[英]How can I do this with one segue?

I want to pass movies's data to another controller also pass another controller when progress is finished.Can I do this with one 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
        }

    }
}

Do following:- 请执行以下操作:

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


    }

Just call self.addSearchController() method in viewDidLoad method of required VC. 只需在所需VC的viewDidLoad方法中调用self.addSearchController()方法即可。 No need to pass SearchController. 无需传递SearchController。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM