2017-10-19 13 views
0

2つのビューとnavigationControllerがあります。最初は、配列にデータを追加します。このデータは、私の2番目のビュー(tableviewController)に表示されます。私は自分のtableViewから直接私の配列内のいくつかのデータを消去することができ、私は同時に行を削除します。 バックボタンを押したときに新しいデータを追加しようとしましたが、2番目のビューが表示されたときにデータのニュースデータが表示され、データが消去されました...わかりません。 ビュー1からビュー2まで、私は「準備(segue:UIStoryboardSegue、送信者:Any?)」機能を持っています。 ご協力いただければ幸いです。データが消去されました。戻るボタンを押したときに表示されます。Swift 3

答えて

1

これは正常です。

最初のビューコントローラにdataという配列があり、この配列を2番目のビューコントローラに渡したとします。この配列を渡すと、コピーされます。第2ビューコントローラのdataアレイは、第1ビューコントローラのdataアレイとは異なるアレイです。

dataの2番目のビューコントローラの配列に適用された変更は、最初のビューコントローラのdata配列には影響しません。

これらの変更を最初のビューコントローラで有効にするには、data何らかの方法で最初のビューコントローラの配列を変更する必要があります。デリゲートやコールバックを使用することができます。

+0

フィスルト、ありがとうございました。 私の問題は戻るボタンではなく、データが保存されました。問題は、私はobjetのために "manager calss"を使うのに飽き足りましたが、私はこれを間違って使いました。 私の最初の見解では、私はこのマネージャーをインスタンス化しました(この1つでは、すべての機能を消してアイテムを追加しています)。ビュー1から私のビュー2(uiTableViewController)に渡すには、準備関数segueを使用しました。この関数では、配列を渡しましたが、私は "マネージャ"のインスタンスを渡しませんでした。ビュー2では、私はあまりにも私の "マネージャー"をinstancied。だから、私は同じ "マネージャー"の2つのインスタンスを持っていた。それは問題だった – Wills

+0

私は、あなたが解決策を見つけた素晴らしいを参照してください。 –

関連する問題