首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIViewController LifeCycle

UIViewController LifeCycle
EN

Stack Overflow用户
提问于 2015-06-23 12:53:15
回答 1查看 484关注 0票数 1

我只是尝试了一些使用View委托的东西,并了解了它们的功能。有一件事我想试试:

我编写了一个函数,以编程方式使用segues展开viewController。视图在navigationViewController中。此外,我还使用以下方法在目标VC中设置了一个实例变量:

代码语言:javascript
复制
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时执行操作。因此,我的想法是,在加载了目标视图之后,立即检查实例变量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-23 12:59:56

为了使用展开索引,首先在目标视图控制器中设置一个方法。

代码语言:javascript
复制
@IBAction func unwind(segue: UIStoryboardSegue) {
    // unwind
}

注意,此方法被放置在目标视图控制器中。打开的视图控制器。

从这里开始,我们需要的不是destinationViewController,而是sourceViewController

代码语言:javascript
复制
@IBAction func unwind(segue: UIStoryboardSegue) {
    if let source = segue.sourceViewController as MySourceViewController {
        self.someProperty = source.someOtherProperty
    }
}

但是,如果我们只是想做一些事情,一旦我们在这里放松,无论如何,我们可以完全忽略segue (看起来,您实际上是在做什么,除了认为您需要引用destinationViewController):

代码语言:javascript
复制
@IBAction func unwind(segue: UIStoryboardSegue) {
    self.callLaunched = true
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31003362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档