美文网首页
SwiftUI:属性包装器@FetchRequest的使用示例

SwiftUI:属性包装器@FetchRequest的使用示例

作者: 喔牛慢慢爬 | 来源:发表于2024-09-17 09:43 被阅读0次

@FetchRequest 是 SwiftUI 中用于从 Core Data 数据库中获取数据的属性包装器。它允许你在 SwiftUI 视图中直接声明一个 fetch 请求,以便从 Core Data 实体中检索数据,并将这些数据与视图绑定在一起。当数据库中的数据发生变化时,视图会自动更新以反映这些更改。

使用示例

// 假设你有一个名为 "Item" 的 Core Data 实体,并且它有一个 "name" 属性和一个 "timestamp" 属性
import SwiftUI  
import CoreData  
  
struct MyView: View {  
    // 声明一个 fetch 请求,从 "Item" 实体中获取所有数据,并按 "timestamp" 属性排序  
    @FetchRequest(  
        entity: Item.entity(),  
        sortDescriptors: [  
            NSSortDescriptor(keyPath: \Item.timestamp, ascending: true)  
        ]  
    ) var items: FetchedResults<Item>  
  
    var body: some View {  
        List {  
            ForEach(items) { item in  
                Text(item.name ?? "Unknown")  
            }  
        }  
    }  
}    

在这个例子中,@FetchRequest 属性包装器被用来声明一个 fetch 请求,该请求从 "Item" 实体中获取所有记录,并按照 "timestamp" 属性的升序进行排序。items 变量是一个 FetchedResults<Item> 类型的实例,它包含了 fetch 请求的结果。然后,在视图的 body 中,我们使用 List 和 ForEach 来展示这些结果。

相关文章

网友评论

      本文标题:SwiftUI:属性包装器@FetchRequest的使用示例

      本文链接:https://www.haomeiwen.com/subject/zruvljtx.html