如何通过绑定来传递取回
如何将绘制
绘制< cditem>
作为绑定
到内视图,以避免在外部更改上重新创建内部视图?
简单示例:
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: /* ??? */)
}
}
我有第一个想法 - 使用
然后使用简单的方法将其转换为绑定。但是我想使用nsfetchedResultSconTroller
进行一些observableObject
内部,然后更新一些@published
变量,nsfetchedResultscontrollerDelelerDelegate
@fetchrequest
之类的糖
How to map and pass FetchedResults<CDItem>
as Binding
to inner view which is UIKit wrapper to avoid recreating inner view on outside changes?
Simple sample:
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: /* ??? */)
}
}
First idea I had - make some ObservableObject
with NSFetchedResultsController
inside and update some @Published
variable with NSFetchedResultsControllerDelegate
and then use easy way to convert it to Binding. But I would like to use such sugar as @FetchRequest
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
@binding
根据定义,双向连接@fetchrequest
和nsfetchedResultScontroller
不是双向。如果您需要从商店使用
项目
使用,或者
您正在抽象。
影响
@fetchrequest
和nsfetchedresultscontroller
的唯一方法是对商店进行更改。他们总是在听。@Binding
is by definition a two-way connection@FetchRequest
andNSFetchedResultsController
are not two-way.If you need to pass around
items
from the store useor
If you are abstracting.
The only way to affect
@FetchRequest
andNSFetchedResultsController
is to make changes to the store. They are always listening.