@Query は Observable で便利です。
引数に、検索条件や並び順を書いておけば、
監視して変更があれば、更新してくれます。

👉 【SwiftData】@Query の引数と Descriptor の関係 
しかし、この検索条件や並び順の基準は
ユーザーの意図によって変更の必要があることのほうが多いです。
どうやって、書き換えるか。
struct UserListView: View {
  @Query var users: [User]
  
  init(sort: SortDescriptor<User>) {
    _users = Query(sort: [sort])
👉 How to dynamically change a query's sort order or predicate - a free SwiftData by Example tutorial 
struct BirdsSearchResults<Content: View>: View {
  @Binding var searchText: String
  @Query private var birds: [Bird]
  private var content: (Bird) -> Content
    
  init(searchText: Binding<String>, @ViewBuilder content: @escaping (Bird) -> Content) {
    _searchText = searchText
    _birds = Query(sort: \.creationDate)
    self.content = content
  }
どうやら、今現在としては、
_birds = Query(sort: \.creationDate)
というような
「_ (アンダースコア)」
を使った内部的な Query の書き換えが本筋といったところでしょうか。
Query の引数には、
SortDescriptor や FetchDescriptor もあるので、
複雑な条件により抽出も並び替えも可能です。
👉 【SwiftData】@Query の引数と Descriptor の関係 
しかし、他の方法ないんですかね。
 
		 
           
          
