【发布时间】:2020-01-14 08:59:12
【问题描述】:
我有一个用 Swift 为 iOS 13 编写的应用程序,我在其中使用情节提要以模态方式呈现视图。呈现新视图后,我希望父级调用位于子视图控制器内的方法(我的自定义类继承自 UIViewController)。
为此,我计划在我的父视图控制器中使用一个方法,该方法将模态视图控制器作为其子视图呈现。一旦我得到这个引用,我将从我的父视图控制器调用子函数。
我意识到这可能是一个糟糕的设计决定,但我还没有找到避免这种方法的方法。我已经查看了整个stackoverflow以找到答案,但我还没有找到任何答案。任何帮助将不胜感激。
【问题讨论】:
-
你能不能不实例化子视图控制器,设置它的一个属性(可能是一个布尔标志)然后呈现它,并在子视图的
viewDidLoad()方法中使用该属性? -
感谢@Chris,这是我作为一个新的 iOS 开发人员没有想到的一种方法,它是比我更好的设计选择。如果您将此作为完整答案发布,我将很乐意接受。
-
谢谢。当我在我的电脑上时,我会发布一个答案。您是否在代码中使用 segues 或实例化没有故事板视图控制器?两者都可以。
-
使用 segues - 我觉得这样更容易。
-
我已经发布了我的答案,没有转义 - 需要提醒自己如何使用它们。基本上它是调用
performSegue()并在覆盖的prepareFor(segue:)方法上进行设置。
标签: ios swift xcode uiviewcontroller