首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >iOS Xcode (swift) -如何在展开段后执行代码

iOS Xcode (swift) -如何在展开段后执行代码
EN

Stack Overflow用户
提问于 2015-11-26 17:30:28
回答 2查看 3.3K关注 0票数 7

我执行从场景1到场景2的分段。然后从场景2返回到场景1。我如何不仅将数据从场景2传递到场景1,而且在场景1中检测到我从场景2返回并在场景1中执行代码?

在安卓系统中,我使用startActivity和onActivityResult来做这件事。

EN

回答 2

Stack Overflow用户

发布于 2015-11-26 17:38:40

你可以这样做:

代码语言:javascript
复制
class SourceViewController: UIViewController {
  var didReturnFromDestinationViewController = false

  @IBAction func returnToSourceViewController(segue: UIStoryboardSegue) {
    didReturnFromDestinationViewController = true
  }

  override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    if didReturnFromDestinationViewController == true {
      // reset the value
      didReturnFromDestinationViewController = false

      // do whatever you want
    }
  }
}
票数 3
EN

Stack Overflow用户

发布于 2018-09-20 06:19:55

我遇到的问题是,我试图在解开分段完成后显示一个警告对话框。因此,我的视图控制器2对视图控制器1执行了一个展开段。我发现,在调用展开段方法之后运行的代码在视图控制器2被解除之前运行,所以当我试图显示一个警告对话框时,一旦视图控制器2被解除,它就会消失。

如果其他解决方案对你不起作用,那就照我说的做。我向我的类添加了一个viewWillAppear重写,并在那里取消了父控制器,然后添加了警报对话框的代码。为了确保在第一次显示View Controller 1时viewWillAppear没有显示警告对话框,我设置了一个if语句来检查我在类中声明并设置为"“的变量的名称。然后在View Controller 2中,我将变量中的一些文本传递回View Controller 1,因此当if语句运行时,它会测试变量不等于"",当它发现它不等于“”时,代码就会运行。在我的例子中,这个变量被命名为"firstname“。

代码语言:javascript
复制
override func viewWillAppear(_ animated: Bool) {

    if firstname != "" {
        self.parent?.dismiss(animated: true, completion: nil)
        //CustomViewController?.dismiss(animated: true, completion: nil)
        let alertController = UIAlertController(title: "Hello", message: "This is a test", preferredStyle: .alert)
        let defaultAction = UIAlertAction(title: "Close Alert", style: .default, handler: nil)
        alertController.addAction(defaultAction)
        present(alertController, animated: true, completion: nil)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33934895

复制
相关文章

相似问题

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