0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

0
Posted at

文系なわたしですが、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更新しないのか知りたい!!

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

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?