2012-03-11 10 views
0

私はCoreDataとの間でデータをセーブ/フェッチする2つのタブを持つTabBarアプリケーションを持っています。私が抱えている問題は、フォームがいっぱいになってユーザーが保存ボタンに触れたときに、ビューが再ロードされない、または再初期化されないということです。私が望むのは、ユーザーが次の一連の情報でプロセスを繰り返すことができるようにするためです。私はおそらく正しい方法でこれについて考えていないので、正しい方向のポインタは非常に高く評価されるでしょう...セーブボタンがタッチされた後にビューを再初期化する

managedObjectContextなどを含むすべてを手動でnilに設定する必要がありますか?または、私がviewWillDisappearのようなメソッドを使ってできることは、エレガントに特定のタブを "再初期化"するのに役立つでしょうか?

私はビュー階層上のAppleのドキュメントを読んaveの、ライフサイクルが、私はちょうど自分自身を混同しているように見える...任意の提案を事前に

おかげで、コードへの紹介や関連する読み物にも、勧告。

+0

非常に非特異的です。あなたのコードを表示してください。送信ボタンを押すと、メソッドが呼び出されます。あなたはそこで何をしていますか?新しいデータベースフェッチを開始し、テキストフィールドをリセットする必要があります。 – calimarkus

+0

あなたの時間と応答に感謝します - 私は今私の無知を示​​していることを認識していますが、私のコードを含めて助けになるかどうかはわかりません。現時点では、保存後にすべての配列、UITextFieldsおよびラベルをコアデータに送信した後に、すべての配列をクリアしていますが、ちょっと不器用な感じがします。私が望むのは、保存ボタンが押された後、タブ上のフォームが初期状態に戻ることだけです。 – Sean

答えて

0

ユーザーがボタンをタップしたときに、データをデフォルトの状態にリロードするとします。残念ながら、これを手動で行う必要があります。各IBOutletの値を意味のあるデフォルト(おそらく空の文字列)に設定する必要があります。

私はそれについて考えることができる2つの方法があり、これは、よりエレガントに役立つだろうが:

  • が個別に各いずれかを実行するためのコードの束を持っているすべてのIBOutletsをループにIBOutletCollectionと高速列挙を使用していません。
  • これらのイベントの間でタブを切り替える場合は、viewDidAppearに代わって、tabBarController:didSelectViewController:UITabBarControllerDelegateとしてアプリデリゲートを使用して、クリアアウト方法を呼び出すことができます。
+0

ありがとう灰、私は2番目のオプションのサウンドが好きだと思う - 私のアプリにそれを働かせば時間を費やすだろう... – Sean

関連する問題