我只是尝试了一些使用View委托的东西,并了解了它们的功能。有一件事我想试试:
我编写了一个函数,以编程方式使用segues展开viewController。视图在navigationViewController中。此外,我还使用以下方法在目标VC中设置了一个实例变量:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "unwindToRootSegue" {
let destinationController = segue.destinationViewController as! ViewController
destinationController.callLaunched = true
}
}然后,我想检查该值是否已在目标VC中设置。并考虑使用viewWillAppear函数。但这没有效果。在加载/显示我要回滚的视图(segue的目标VC )时,应该使用什么方法来执行进一步的操作。
我的目标是在实例var设置为true时执行操作。因此,我的想法是,在加载了目标视图之后,立即检查实例变量。
发布于 2015-06-23 12:59:56
为了使用展开索引,首先在目标视图控制器中设置一个方法。
@IBAction func unwind(segue: UIStoryboardSegue) {
// unwind
}注意,此方法被放置在目标视图控制器中。打开的视图控制器。
从这里开始,我们需要的不是destinationViewController,而是sourceViewController。
@IBAction func unwind(segue: UIStoryboardSegue) {
if let source = segue.sourceViewController as MySourceViewController {
self.someProperty = source.someOtherProperty
}
}但是,如果我们只是想做一些事情,一旦我们在这里放松,无论如何,我们可以完全忽略segue (看起来,您实际上是在做什么,除了认为您需要引用destinationViewController):
@IBAction func unwind(segue: UIStoryboardSegue) {
self.callLaunched = true
}https://stackoverflow.com/questions/31003362
复制相似问题