2017-11-14 8 views
-1

このリンクhttps://medium.com/ios-os-x-development/ios-how-to-build-a-table-view-with-multiple-cell-types-2df91a206429を使用して、JSON配列を読み込んでuitableviewで動的なフィールドを生成すると、その例で変更しているのは、編集可能なので、UITextFieldにすると、テーブルビューはビューの表示と非表示を切り替える各セルを再生成することを理解しています。各セルに編集された値を保持する方法を理解したいと思います。スウィフトUITableスクロールで編集した値を保持する方法

+0

テキストフィールドごとにUITextFieldDelegateを実装することをお勧めします。これにより、最新の値を入力時にいくつかのデータモデルに保存することができます。 –

+0

Delegate/Protocolモデル、またはSwift Closureを使用する必要があります。ここに1つの例があります:https://stackoverflow.com/a/45419009/6257435 – DonMag

答えて

0

基本的に、テーブルビューはデータソースのデータを提示することになっています。

(中の例では)データソースは、ProfileViewModelItem型の項目の配列を保持するタイプのProfileViewModelです。すべてのセルは、単一のProfileViewModelItemのデータを表示します。

編集した値を保持する方法は、テキストフィールドの編集中のセルによって提示されるアイテムを変更することです。

したがって、ユーザーがテキストフィールドに入力するたびに、テキストフィールドに表示されているテキストを保持しているアイテム(ProfileViewModelItem)のデータを変更する必要があります。こうすると、テキストフィールドとアイテムが同期していて、セルがなくなると、画面に戻ってくると、テキストフィールドにはアイテム内にあるテキストと同じテキストが表示されます。セルが画面上に最後に表示されたときのテキストフィールド。

関連する問題