実現したいこと
現在realmDBにあるデータを検索し検索結果を表示する機能を実装しています。そこで大量にある辞書を内包する配列データの中から不要なデータは取り除き必要なデータだけを抽出する必要が出ています。どういったデータを抽出したいかは以下に詳細を記述しております。
ソースコード
Swift
1 2let fetchedRecordDataArray = self.realm.objects(RecordData.self).sorted(byKeyPath: "savedTime", ascending: false) 3 4if fetchedRecordDataArray .isEmpty { 5 6} else { 7 8 dump(fetchedRecordDataArray) 9 10 for fetchedRecordData in fetchedRecordDataArray { 11 12 //検索結果を表示するためのDataSourceであるoriginalDataSourceに追加していく 13 originalDataSource.append("(fetchedRecordData.recordDate) : (fetchedRecordData.text)") 14 15 } 16}
上のソースコード内の
dump(fetchedRecordDataArray)
の結果が以下のようになっています。1000以上のデータがあるのをわかりやすくするためここでは始めの3つのデータだけ記しています。
fetchedRecordDataArray
1Results<RecordData> <0x7fc8584ad5f0> ( 2 [0] RecordData { 3 id = 7F140D6D-337E-4585-A3C9-160358523B80; 4 recordDate = 8/23/2019; 5 text = test1; 6 savedTime = 2019-08-22 15:04:00 +0000; 7 isDeleted = 0; 8 }, 9 [1] RecordData { 10 id = 69D950E8-3083-4F38-8EC3-6339B9483E42; 11 recordDate = 8/22/2019; 12 text = test2; 13 savedTime = 2019-08-22 15:03:41 +0000; 14 isDeleted = 0; 15 }, 16 [2] RecordData { 17 id = 01E80873-0D89-41ED-8360-FC152307D3B2; 18 recordDate = 8/22/2019; 19 text = test3; 20 savedTime = 2019-08-22 12:28:22 +0000; 21 isDeleted = 0; 22 } 23 . 24 . 25 . 26 27) #1
現在だと端末の画面で検索結果で表示される検索結果が以下のようになります。
8/23/2019 : test1 8/22/2019 : test2 8/22/2019 : test3 . . .
この結果が以下のようにrecordDateが同じものであれば、その中でsavedTimeが最新のものだけを抽出するという操作をしたいです。ですがその方法がわかりかねております。どのようにすれば実現できますでしょうか?皆様のお力添えいただけますと幸いです。
8/23/2019 : test1 8/22/2019 : test2 . . .
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/25 03:48
2019/08/25 04:40
2019/08/25 04:59
2019/08/25 05:14
2019/08/25 05:28
2019/08/25 07:05