現在のView ControllerからルートView Controllerに戻るコードを書きたいと思います。紛らわしいことに、あらゆる種類の構文で、これに関する多くの答えを見つけました。(Objective Cまたは別のバージョンのSwiftの古い答えを推測しています...)これが、現在AppDelegateで機能している最も単純な構文です。
let navigationViewController = self.window?.rootViewController as! UINavigationController
[navigationViewController .popToRootViewController(animated: true)]
私はこの答えを見てここまで来ました: https : //stackoverflow.com/a/23027260/8887398上記の私のコードで作業しています。
質問:コードの 2 行目で何が起こっているのかよくわかりません。確かに、ルート ビュー コントローラーに戻っていることは理解していますが、構文はまったくわかりません。最も紛らわしいのは、コードがまったく理解できない一対の [ ] ブラケットで囲まれていることです。次に、popToViewController はドット「.」で始まります。これは、リンクした回答とは異なります。「。」の使用に慣れています。オブジェクトのプロパティにアクセスするために使用しますが、ここでは左側に何も配置せずにスタンドアロンで使用しています。
このコードは私にとっては適切に機能しているように見えますが、インターネット上で見つけた数え切れないほどのバージョンの構文とルート ビュー コントローラーに戻る方法を見つけました。全て。私が知っているのは「それは今働いている」ということだけです。このコードを理解するのを手伝ってください。