NavigationControllerでつないだ親画面A、子画面Bがあります。

私は子画面から親画面に戻る時に値を渡したいので

    <B ViewController>
override func viewWillDisappear(animated: Bool) {
    let viewController = self.parentViewController as! A ViewController
    viewController.x = 1 //xはA画面の変数
}

のようにしました。
しかし

Could not cast value of type 'UINavigationController'

とエラーが出ます。
この問題を解決するための方法を教えて欲しいです。

また上記の方法に代わる方法があれば
教えてもらえると助かります。

どうかよろしくお願いします。


一度、unwindを使いましたが私はnavi‌​gation barに出てくるbackボタンを押したときに値を渡したいんのですがunwindではできませんでした。