gpt4 book ai didi

ios - 获取列表中的核心数据实体

转载 作者:行者123 更新时间:2023-12-01 16:06:01 25 4
gpt4 key购买 nike

核心数据User我用属性(property)创建 id and name ,我想把它提取到列表中。

struct MyView: View {
@FetchRequest(entity: User.entity(), sortDescriptors: []) var users: FetchedResults<User>

var body: some View {
VStack {
List {
ForEach(users, id: \.id) { user in // Type '_' has no member 'id'
// Text(user.name)
}
}
}
}
}

我对错误报告感到困惑,它似乎没有成功导入核心数据实体。

更新

当我尝试在列表中使用 name 属性时,它也会报告 Value of type 'NSManagedObject' has no member 'name'错误信息。
ForEach(users, id: \.id) { user in
Text(user.name)
}

最佳答案

有时,您需要为要在代码中识别的实体构建项目。这是加载带有 id 和 name 的 CoreData 实体 User 的代码。

struct ContentView: View {
@Environment(\.managedObjectContext) var context
@FetchRequest(entity: User.entity(), sortDescriptors: [])
var users: FetchedResults<User>

var body: some View {
List {
ForEach(users, id: \.id) { user in
Text("Id = \(user.id), Name = \(user.name ?? "")")
}
}
}
}

或者,您可以使 User 实体符合 Identifiable。这样做,您可以跳过 ForEach 中的 id 参数。
extension User: Identifiable {
}

ForEach(users) { user in
Text("Id = \(user.id), Name = \(user.name ?? "")")
}

User entity setup

关于ios - 获取列表中的核心数据实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60646820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com