geo*_*eok 4 core-data swift swiftui
如何使用@FetchRequest以检索单个对象而不是一个FetchedResults<Card>?在我看来,我只需要一个对象。是否有替代方法来执行查询并根据唯一的属性值(例如 ID)获取单个对象?
struct MyCardsView: View {
@FetchRequest(entity: Card.entity(), sortDescriptors: []) var cards: FetchedResults<Card>
var body: some View {
List{
ForEach(cards){
....
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
[继续我的评论]...假设我们有Person实体并以某种方式存储/获取某个对象的一些 id,这里是一个可能的视图演示,它通过 id 获取该对象并使用它
注意:NSManagedObject 符合 ObservableObject
struct DemoPersonView: View {
@ObservedObject var person: Person
init(id objectID: NSManagedObjectID, in context: NSManagedObjectContext) {
if let person = try? context.existingObject(with: objectID) as? Person {
self.person = person
} else {
// if there is no object with that id, create new one
self.person = Person(context: context)
try? context.save()
}
}
var body: some View {
VStack {
Text("User: \(person.name ?? "<Unknown>")")
// ... other possible code to manage/edit person
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用 Xcode 12 / iOS 14 测试
| 归档时间: |
|
| 查看次数: |
1384 次 |
| 最近记录: |