質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Realm

RealmとはSQLiteやCore Dataに代わるモバイルデータベースです。iOSとAndroidの両方でサポートされています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

3004閲覧

Realmのデータを削除したあと順番がバラバラになる

tarofess

総合スコア127

Realm

RealmとはSQLiteやCore Dataに代わるモバイルデータベースです。iOSとAndroidの両方でサポートされています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/01/06 07:41

tableviewのデータを削除したあと、tableviewに表示している配列のデータを確認すると、順番がバラバラになっていました。
削除する部分のコードは以下のようになっています。

swift

1 let realm = try! Realm() 2 try! realm.write { 3 realm.delete(self.diaries![indexPath.row]) 4 } 5 self.tableView.deleteRows(at: [indexPath], with: .fade)

そして実際にRealmの中身のキャプチャも撮ったのですが、以下のようになっています。
テスト1というデータの行を削除しています。

〜削除前〜
削除前

〜削除後〜
削除後

削除後に配列の中身がバラバラになってしまってて困っているのですが、どうすれば良いでしょうか?
これはRealmのバグなんでしょうか...?
どなたか分かる方がいれば教えていただきたいです。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Realmに限らず一般的なデータベースはレコードの並び順を保証しません。
レコードを取得するさいにソートして下さい。

投稿2018/01/06 07:53

編集2018/01/06 07:54
hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tarofess

2018/01/06 09:27

ご回答ありがとうございます。そうなんですね、データベースはレコードの並び順を保証しないのですね。 なのでsorted関数を呼んで日付順にソートさせることで解決しました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問