我想编写一些代码从当前视图控制器弹出回根视图控制器。令人困惑的是,我找到了很多关于这个的答案,有各种各样的语法。(我猜测 Objective C 或不同版本的 Swift 中的旧答案......)这是目前在我的 AppDelegate 中为我工作的最简单的语法:
let navigationViewController = self.window?.rootViewController as! UINavigationController
[navigationViewController .popToRootViewController(animated: true)]
我通过查看这个答案得到了这么多:https ://stackoverflow.com/a/23027260/8887398 他的语法略有不同,我猜这是从 2012 年开始的旧语法,所以我不得不稍微改变它,但它是使用我上面的代码。
问题:我真的不明白代码的第二行发生了什么。当然,我知道它会弹回根视图控制器,但我根本不理解语法。最令人困惑的是代码被一对我完全不理解的 [ ] 括号包围。接下来,popToViewController 以点“.”开头,这与我链接的答案不同。我习惯使用“。” 访问对象的属性,但这里它只是单独使用,左侧没有任何东西。
这段代码似乎对我来说运行正常,但是我在互联网上找到了无数版本的语法和弹回根视图控制器的方法,我不知道我所做的是否正确或它是如何工作的全部。我所知道的是“它现在正在工作”。请帮助我理解这段代码。