Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

初めてのアプリ トラブル日記

文系なわたしですが、2020年3月からAppleホームページのswift programming language guide(https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html)
から勉強してから3ヶ月が経ちました。3月は夜と週末しか時間がないですが、4月になってからコロナの関係で自宅で待機になり、毎日swiftと戦っています。

何か目標があった方が効率が良いと思うので、興味がある「芸能・エンターテイメント」情報を中心としたSNSアプリを作るようにしています。面白いと思った機能、新しく勉強した知識どんどんこのアプリに入れます。今このアプリはどんどんきれいになり、realmも使えるようになってきていますが、改善点がどんどん出てきて、改善に当たってのトラブルも多いです。

そこでトラブルを記録して、解決できた時には解決案も書こうと思っています。

2020年6月22日時点 問題①
realmに保存したデータ(日記全件のタイトルや本文)を抽出したものを「diaries」と定義した。
if let diaries != nilの前提で、diariesをForEachループし、タイトルだけの一覧をUIに表示、
.onDelete(perform:deleteFromRealm)で削除機能を実装しました。

問題は、削除をクリックして確定しても、削除されたはずのセルは消えない!
でも再度アプリを起動したら消えているし、realmデータを見たら消えているし、
UIがUpdateされていないだけだと思っています。

ちなみに、diariesは@Stateで定義しているので、データが変わる途端、UIが更新されるはず。。。
deleteFromRealm関数の中で削除実施後、realmから再度全件データを取得、それをdiariesへ与えるのを
試しました。FetalError発生でした。
Reload、Refreshとかを実装してみたいが、方法がまだわかりません。
ていうか、なんで@Stateで定義したのにAuto更新しないのか知りたい!!

調べてみましたけど、同じ状況の人もいるが、まだ解決案まで辿り着いていません。
ソースコードはこんな感じです。↓

Yuehan
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away