今回はTableViewCell移動時のCoreDataの更新と保存、その関連処理を記載します。

【 TableViewとCoreDataの初期状態】

① TableView(id1_神戸から id9_高松まで降順・入力順で表示)

移動前画面

※※関連処理として、TableViewの昇順・降順処理は次の通りです。《注1》

 

② CoreDataの内容を確認します(TableViewのソート用にposi項目を持っています)

移動前SQLite

※※関連処理としてposi項目は、id項目と同時(同様)にCoreDataに追加する際に採番します。

 

【 TableViewの移動とCoreDataの更新】

③ TableView(id1_神戸をid3_京都の上に移動)

移動後画面

 

④ TableView移動後のCoreDataの内容を確認します(神戸のposi項目が1から3に変更され、大阪・京都ともにposi項目が更新されています)

posi項目が変更される事によりTableViewの表示順を対応する事ができます。《注》参照

 移動後SQLite_2

⑤ CoreDataの更新処理

TableViewの移動を行う時に移動対象となるCoreDataのposi項目を更新する事でTableViewの移動表示を行う事は今までにふれてきました。

では実際に処理を記述するのですが、今回の記述例では以下のような手順が必要になります。

1. 移動元と移動先のposiを比較する

2. 移動元が大きい場合の処理と小さい場合の処理をおこなう

3. 処理は移動元だけではなく関係する前後のCoreDataのposiを含めて更新をおこなう

等…

それぞれのswiftコードを記述すると長くなりますので、今回は 1.の移動元と移動先のposiを比較する処理です。

※※Cellの移動を行う時はreloadDataで表示の整合性を保つ事をわすれずに。