0

tabBarController を使用する iOS アプリがあります。各タブのルート ビューは、ナビゲーション コントローラーです。タブの 1 つで、ナビゲーション バーのボタンを使用して、UITextView を含む UIViewController にプッシュします。

私が苦労している問題は、ナビゲーション バーの戻るボタンを押すと、UITextView に追加されたコンテンツが失われることです。私はいくつかの同様の質問を見つけましたが、それらはすべて根本的に異なる解決策を持っています。ここから先に進む方法がわかりません。

自分のやりたいことを明確にすること。ユーザーは UITextView にテキストを入力し、それを失うことなく最初のビューに戻ることができます。2 番目のビューに戻ることを選択した場合、テキストは UITextView にある必要があります。

デリゲート クラスを使用しstringてテキストを保持することを提案する2 つのナビゲーション ビュー間の UITextView のコンテンツ処理。ユーザーからの可能な段落書式が維持されるかどうかわからないため、ここで懸念しています。

私はすでにアプリ全体でコアデータを使用しているので、これを格納する属性を簡単に作成できました。適切/最良/最も簡単な方法が何であるかはわかりません。

私がやろうとしていることを達成するための最良の方法は何ですか? 私はこれに慣れていないので、スニペットは本当に役に立ちます!

更新より適切な情報

UITextView 内のテキストは、最終的にサーバーにポストされることを意図しています。彼らがそれを投稿するまで、私はそのテキストを保持する必要があります. アプリにはログインがあるため、ログオフして再度ログオンしたり、他の誰かがログオフしたりする可能性が常にあります。私が正しく理解している場合、これにより新しい managedObjectContext が作成されるため、個人用に保存したすべてのコアデータと NSUserDefaults が消去されます。上記のプロセスでテキストを保存する方法はありますか?

4

1 に答える 1

0

1 つのビュー コントローラーでのみ使用されるテキストを記述し、他のビュー コントローラーに戻す必要はありません。

そのため、属性付きの文字列をテキスト ビューから取得できます (編集セッションが完了したとき、またはビューが画面から削除されたとき)。に準拠してNSCodingいるので、データ化してディスク・データベースに保存できます。

後でビューが再表示されたときに、ディスクからデータをロードし、表示用のテキストを再作成できます。

于 2013-07-19T22:49:40.990 に答える