如何将FetchedResults作为绑定传递



如何映射和传递FetchedResults<CDItem>作为Binding到内部视图,这是UIKit包装,以避免在外部变化上重新创建内部视图?

简单的示例:

struct CollectionView: UIViewRepresentable {
@Binding 
var items: [Item] // array of structs which are core data entities representation
...
}
struct ItemsView: View {
@FetchRequest(fetchRequest: CDItem.fetchReuqest)
var items: FetchedResults<CDItem>
var body: some View {
CollectionView(items: /* ??? */)
}
}

我的第一个想法-使一些ObservableObjectNSFetchedResultsController内部和更新一些@Published变量与NSFetchedResultsControllerDelegate,然后使用简单的方法将其转换为绑定。但我想用@FetchRequest这样的糖

根据定义@Binding是双向连接@FetchRequestNSFetchedResultsController不是双向连接

如果你需要传递items从存储使用

let items: [CDItem]

let items: [Item] 

如果你在抽象。

影响@FetchRequestNSFetchedResultsController的唯一方法是对store进行更改。他们总是在听。

相关内容

  • 没有找到相关文章

最新更新