プッシュ セグエを使用して、現在のモーダル セグエを介して追加される「エントリ」を編集したいと考えています。キャンセルを押したときに、通常の destroyViewControllerAnimated メソッドを使用して閉じません。このため、 popViewControllerAnimated メソッドを同時に組み合わせる必要があったため、エントリの編集時または追加時にキャンセルをクリックするかどうかに応じて、両方が試行されます。
最後のviewcontrollerから最初のviewcontrollerに戻す必要があるオブジェクトのため、両方ともNSNotifcationを介して行われます。
func cancel(notification: NSNotification){
println("Cancel Executed")
let userInfo:Dictionary<String,EntryItem!> = notification.userInfo as Dictionary<String,EntryItem!>
entry = userInfo["Object"]
tableView.reloadData()
self.navigationController?.popViewControllerAnimated(true)
dismissViewControllerAnimated(true, completion: nil)
dataModel.saveEntries()
}
これに関する問題は、セグエを通過して 3 番目のビュー コントローラー (5 の文字列) に到達した場合、キャンセルしてエントリ画面に戻るが、見栄えの悪いナビゲーション バーが代わりに表示されることです。そこにあるはずのもの。タイトルも表示されません。押すとクラッシュするキャンセルボタンがあります。
これは次のようになります。
popViewControllerAnimated がそれに対して行うことは次のとおりです。