私はiOS開発を初めて利用しています。私は奇妙な状況を抱えています。毎回ではなく非常に頻繁に起こっています。戻るボタンを使用して同じ画面に戻ると、私のテキストフィールドが自動的にクリアされています。コード:私のテキストフィールドが自動的に消去されています
self.navigationController?.popViewControllerAnimated(true)
問題はシミュレータとデバイスの両方で発生します。
私はiOS開発を初めて利用しています。私は奇妙な状況を抱えています。毎回ではなく非常に頻繁に起こっています。戻るボタンを使用して同じ画面に戻ると、私のテキストフィールドが自動的にクリアされています。コード:私のテキストフィールドが自動的に消去されています
self.navigationController?.popViewControllerAnimated(true)
問題はシミュレータとデバイスの両方で発生します。
これは、あなたが前のviewController
にアプリをナビゲートするたびにコンテンツビューが更新されるために発生します。これにより、すべてのUIコンポーネントにも最新の情報が反映されます。ここで行う必要があるのは、userDefaults
を使用してtextfields
値を一時的に任意の永続ストレージに保存してから、userDefaults
メソッドを使用して再度値を割り当てます。このメソッドは、アプリケーションをvcに戻すときに毎回実行されるためです。
viewWillAppear():
ビューコントローラのコンテンツビューがアプリケーションのビュー階層に追加される直前に呼び出されます。このメソッドを使用して、コンテンツビューが画面に表示される前に発生する必要のある操作をトリガーします。名前にかかわらず、システムがこのメソッドを呼び出すというだけで、コンテンツビューが確実に表示されるとは限りません。ビューは他のビューによって隠されるか、隠される可能性があります。このメソッドは、単にコンテンツビューがアプリケーションのビュー階層に追加されることを示します。
userdefaultsを使用すると、アプリに負担はかかりません。テキストフィールドは毎回クリアされず、ランダムに発生します。これを行うための他の方法はありますか? –
あなたはより多くの意見のためのコードを示すことができます。 – vaibhav
私はあなたが言及した方法を知っているが、私は50のビューコントローラがあります。すべての50個のView Controllerでuserdefaultsを作成すると意味がありません。実際に私は何かを行う一般的な方法を探しており、アプリ全体に反映する必要があります。 –
追加してください、あなたがしようとしているコードスニペットは...? – iDeveloper
この種の質問を投稿して申し訳ありませんが、問題はviewwillappear()が呼び出されて、すべてのテキストフィールドをクリアしているときです。とにかくあなたの答えと時間をありがとう。 –