Post

Replies

Boosts

Views

Activity

Reply to SwiftData `unsupportedPredicate` when `Query` via a relationship
I ran into the very same issue today. Turns out SwiftData does not support force-unwrap in Predicate. So you can try using if-let or .flatMap. Using if-let worked for me, so something like this may work for you: private struct TransactionItemsView: View { init(journal: Journal, budgetMode: Bool) { let journalID = journal.id! _entries = .init(filter: #Predicate { if let journal = $0.journal, let id = journal.id { id == journalID } else { false } }, sort: \.date, order: .reverse) } @Query var entries: [Entry] ... } I did submit feedback on this: FB13202879
Sep ’23
Reply to SwiftUI and @FetchRequest - modify predicate or sort dynamically?
Perhaps not an elegant solution, but you can set the fetch request in the init of your View. private var filteredFetchRequest: FetchRequest<Item> private var filteredItems: FetchedResults<Item> { 		filteredFetchRequest.wrappedValue } init(filter: String) { 		filteredFetchRequest = FetchRequest<Item>(entity: Item.entity(), sortDescriptors: [], predicate: NSPredicate(format: "title BEGINSWITH %@", filter)) }
Jun ’20