インスタグラムのような画像投稿サービスを作っています。
そこで、気に入った投稿を、お気に入り登録やブックマーク機能という形で、マイページでいつでも見返せるようにしたいと考えております。
☆のアイコンを設置して、Workflowを使うのだろうとは思うのですが、どうすればよいか分かりませんので、教えていただけると幸いです。
こんにちは。
なるべくシンプルにサンプルを作ってみました。
まず、UserのData fieldに投稿のリスト「いいねした投稿」を追加します。
次に、星のアイコンを色が塗られているものと、塗られていないものの2つを設置し、
塗られていないものをクリック→Workflowで投稿をUserの「いいねした投稿」に追加
塗られたものをクリック→Workflowで投稿をUserの「いいねした投稿」から削除
このように組みます。
そして、それぞれのアイコンのconditionalで、
塗られていないもの:Userの「いいねした投稿」に含まれていないときのみ表示
塗られているもの:Userの「いいねした投稿」に含まれているときのみ表示
になるように設定します。
それぞれのアイコンにはLayoutのcollapse when hiddenにチェックを入れましょう。
最後に、いいねの一覧のページを作り、Current Userの「いいねした投稿」の一覧を表示します。
Repeating GroupのData sourceで直接読み込んでも良いですが、いいねを外した瞬間直ちに消えてしまうので、サンプルではページロード時にいいねした投稿をCustom stateに入れています。
参考になれば幸いです
わざわざ、作ってくださり本当にありがとうございます。
重ねての質問で申し訳ないのですが、Twitterのように「いいね」された数を表示させたいと考えています。
元々、出来てはいたのですが、今回の機能と組み合わせると、うまく機能しなくなってしまいました。
もし、お時間がありましたら、今回のサンプルに「いいね数」の機能を加えていただけますと幸いです。
サンプルを更新しました。
やり方は様々ですが、この例では投稿のデータに「いいねの数」のデータフィールドを設けて、いいねが押されたり外されたりするごとにそれを増減させています。
ありがとうございます。
ほとんど真似させていただくことが出来たのですが、customstateの部分だけうまく機能せず、いいねを外した瞬間に投稿が消えてしまいます。
favoriteのページのRepeatinggroupとページがロードされた際のWorkflowは真似させていただいたつもりなのですが、何が原因なのでしょうか?
favoriteページのRepeating GroupのData sourceは合ってますか?
ここは、Search forではなく、作成したcustom stateを参照するようになっています。
favoriteのページではSearch forは使わず、custom stateだけを使っています。
加えて、もう1つ問題点が見つかりまして、いいねマークの色ありと色なしの切り替えは2つのページで共有できているのですが、いいねの数が2つのページで独立してしまっています。
そのため、indexページでいいねマークをクリックして色ありに⇒favoriteページでいいねマークをクリックして色なしに⇒indexページに戻ると、色なしにはなっているが、カウントが減っていない
問題が起こってしまっています。
1つ真似できていない点を挙げるとすると、indexページの色ありと色なしのいいねマークといいねの数を1つのグループにまとめているため、current cellではなくparent groupになっていることくらいです。
長文になってしまい申し訳ありませんが、何が原因なのでしょうか?
こんにちは。サンプル通りに作れば同じように動作するはずです。
該当箇所のスクリーンショットなどいただければお役に立てるかもしれません。
1枚目:favoriteにあたるページのRepeatinggroupの画像です。
2枚目:いいねのアイコンを入れたグループの画像です。
3枚目:色なしの方のアイコンの画像です。
4枚目:色ありの方のアイコンの画像です。
加えて、Workflowの画面を添付させていただきます。
Set stateの部分以外の問題は解決しましたので、favoriteページでいいねアイコンをクリックした瞬間に消えてしまう問題だけ解決していただけると幸いです。
こんにちは
favorite ページのRepeating groupのData sourceはどのようになっていますでしょうか?
Data sourceはあってます。
もしかしてですが、いいねボタンを押したとき、custom stateの中に投稿を追加していないですか?
favoriteページでもindexページ同様、Userのデータの中に投稿を追加/削除しています
すみません返信遅くなりました。
見る限りあっているように思います。
ページロード時にcustom stateを設定してから、いいねが外されてもData sourceは変わらないはずです。
プレビュー画面で、step by stepでどのワークフローによってcustom stateに変化が起こっているのか特定してみると原因がわかるかもしれません。
色々と教えていただきありがとうございました。
原因が分からないため、ごみ箱マークを設置することで対応しようと思います。