2016-07-21 35 views

答えて

7

まず最初の配列は常にArray index out of Rangeとあなたの意志がクラッシュの上記のコードは、また、だから、以前にアクセスするために、インデックス0で始まる必要にマイナス2。そのようなあなたの状態をチェックし、この

let count = viewControllers?.count 
if count > 1 { 
    if let setVC = viewControllers?[count -2] as? SWSetVC { 
     //Set the value 
    } 
} 
+0

もちろん。ありがとう。 – Aaronium112

+0

ウェルカムメイト、ハッピーコーディング:) –

0

以前のコントローラがcontrollers[count - 2]、ないcontrollers[count - 1]ようです。アクセス対象の、あなたのインデックスがあなたの数よりも少ない場合

0
let count = self.navigationController.viewControllers.count; 
self.navigationController.viewControllers[count - 2]; 
+0

ナビゲーションスタック? – NSNoob

2

また、これを使用することもできます。

(使用してSWIFT 3)未満3つのVCがである場合、このコードはどう

let i = navigationController?.viewControllers.index(of: self) 
let previousViewController = navigationController?.viewControllers[i!-1] 
関連する問題