LoginSignup
0
1

RealmSwiftのwhereにArrayで結合したQueryを利用する

Last updated at Posted at 2023-10-04

SwiftはiOS17からSwiftDataが使えますが、今のプロジェクトはiOS16と決まっているのでRealmを使っています。
そんなRealmではNSPredicateでの検索は終わりwhereで検索する時代が来たそうです。

よーし試してみるかと、よくあるQueryをappendして結合する昔ながらのQueryを作成しようとしたのですが、マニュアルを読み返してもやり方が不明です。

流石に最近は誰も使わないのか?そんな筈ないやろとRealmのIssueを探すとありました。

Compound Array of Query #7731

結果としてRealmには実装がないそうです。
そうなると真面目に実装すると冗長なコードになるのが請け合いです。
Issueに投稿した方はサンプルコードも提供いただいてたので試しに動かしてみたのがページの下にあるコードです。

このIssueのコードでは条件がなかった場合の回避方法の記載はありませんでした。
とりあえずデフォルトのクエリをTodoのテキストが空以外を検索として登録しておきました。

todo.gif

サンプルコード

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