我在学习SwiftUI方面取得了进步,但是在将它与Core Data结合使用时却陷入困境。
最近几天,我一直在搜索和阅读有关该主题的所有文章,但是我不知道如何开始解决该问题。
有人能概述在SwiftUI中使用Core Data的基本步骤吗?
我在Twitter上收到了一些其他反馈,并且一位开发人员建议,SwiftUI列表可能不适合使用具有大数据集的Core Data。在此处阅读帖子:https://twitter.com/numist/status/1141012785825845248
这是我要在我的应用中采用的方法。
答案 0 :(得分:1)
您可以为Core-Data逻辑(如EntityManager)编写包装器,然后在BindableObject中使用它
class PersonStore: BindableObject {
var didChange = PassthroughSubject<Void, Never>()
var persons: [PersonEntity] = [] {
didSet {
didChange.send(())
}
}
func fetchPersons(matching name: String) {
// make you core data query here and assign it to persons property
}
}
查询完成后,分配给人员属性的值SwiftUI将重新加载View以读取新值。
答案 1 :(得分:-1)
我同意@mecid,关键是它的异步过程。 在Beta 4中,didChange变为willChange。 我在https://github.com/rsteinberger/UXIContacts
有一个有效的示例