top of page

アプリを手作りしています

ホーム: ようこそ!
ホーム: Blog2

[SwiftUI]What I wear counter/着た回数カウンタ - (6) Switch View by User Input

  • handmadeapp
  • 2020年2月17日
  • 読了時間: 2分

更新日:2020年2月18日

着た回数カウントアプリの続きです。


Item一覧から選択したItemの

・Itemとして登録した内容の変更

・Itemの削除

ができるよう、Detail Viewを更新します。



<Itemとして登録した内容の変更>

まずは、

・変更前/変更後の比較のためのデータ保持変数

・編集中かどうかの識別フラグ

・アラート表示フラグ

を用意し、

Detail View表示時に、当該Itemの情報を変更前/変更後用の変数に設定するように。


Name

・編集ボタン(鉛筆アイコン)タップで、TextをTextFieldに切り替え、編集可能にする

・Text / TextFieldの背景色を分け、編集中かどうかをわかりやすくする

・編集中、戻るボタン(左向き矢印)タップで、編集内容を破棄し元に戻すことができる



Last Wash Date

・編集ボタン(鉛筆アイコン)タップで、TextをTextFieldに切り替え、編集可能にする

・Text / TextFieldの背景色を分け、編集中かどうかをわかりやすくする

・編集中、戻るボタン(左向き矢印)タップで、編集内容を破棄し元に戻すことができる



Wear after Wash

・+/− のボタンタップで、表示される回数を+/− する

・元の回数から変更があった場合、背景色を分けてわかりやすくする



Save

・ボタンタップ時に、変更があった内容でItem情報を更新する


まずは、変更後用の変数に設定された値を、一覧から引き継いだ「item」に設定し、

CoreDataへの反映を行うFunctionを用意。


Saveボタンタップ時に「saveUpdate」を呼び出してItem情報を更新し、

AlertのOKボタンタップ時にDetail Viewの表示にも更新後のItem情報を反映。



Save後の内容でDetail ViewをRefresh (Reload?)する方法を調べたものの、

これという方法が見つからず、AlertのOKボタンタップ時のアクションで対応することに。



<Itemの削除>

Itemの削除は、Item一覧のListの「onDelete」でできるようにしていました。


ただ、テストをする中で、選択したものと異なるItemが削除されてしまうことが。。

調べてみたところ、こちらにあるように、Section付きListの「onDelete」は一筋縄では行かない模様。


ということで、諦めて、Detail ViewからItem削除できるように変更。



「本当にDeleteしていいですか?」という確認と、「Cancel」ボタンも付けました。

以上、Detail Viewも完成!

Comments


©2020 by Handmade App. Proudly created with Wix.com

bottom of page