iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0

昨天稍微嘗試了一下 ModelContext 以及將資料存進 SwiftData 中,但是主畫面依然沒有顯示任何東西,那是因為沒有從 SwiftData 中撈資料出來,今天就來 Fetch Data 吧。

@Query

而 SwiftData 中撈取資料的方式也很簡單,只需要靠 @Query 這個 Macro 就好,甚至他還能設定你撈的資料的排序方式等。

就像這樣,SwiftData 中的資料就會按照 Expense 裡的 Date 去做排序,然後丟進這個 Array 裡。

@Query(sort: \Expense.date) var expenses: [Expense]

那這裡也讓大家看看 @Query 展開後的樣子,雖然沒有 @Model 展開後那麼多,但我也不是很想看到這些東西就是了。

@Query(sort: \Expense.date) var expenses: [Expense]
    private (set) var _expenses: SwiftData.Query<[Expense].Element, [Expense]> = .init(sort: \Expense.date)
{
    get {
        _expenses.wrappedValue
    }
}

那這邊用好之後可以看到之前儲存的資料顯示在主畫面上了,現在關於資料已經介紹完 Save 和 Fetch 了,剩下的 Delete 和 Update 就之後繼續介紹吧。


上一篇
Day 24:SwiftData(4)
下一篇
Day 26:SwiftData(6)
系列文
SwiftUI學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言