Collections 装订的清洁替代品';现在不推荐使用的集合一致性?

Collections 装订的清洁替代品';现在不推荐使用的集合一致性?,collections,binding,swiftui,Collections,Binding,Swiftui,绑定结构与收集协议的条件一致性被删除 按照苹果的建议(在该链接上),创建一个索引集合类型,我们可以避免使用列表和ForEach的样板文件,如下所示: ForEach的公共扩展,其中内容:查看{ 初始化( _基地:基地,, @ViewBuilder内容:@escaping(Data.Element)->content ) 哪里 数据==IndexedCollection, 基本要素:可识别, ID==Base.Element.ID { self.init(IndexedCollection(bas

绑定结构与收集协议的条件一致性被删除

按照苹果的建议(在该链接上),创建一个
索引集合
类型,我们可以避免使用
列表
ForEach
的样板文件,如下所示:

ForEach的公共扩展,其中内容:查看{
初始化(
_基地:基地,,
@ViewBuilder内容:@escaping(Data.Element)->content
)
哪里
数据==IndexedCollection,
基本要素:可识别,
ID==Base.Element.ID
{
self.init(IndexedCollection(base:base),id:\.element.id,content:content)
}
}
这让我们以他们为例

List(landmarks.indexed(),id:\.1.id){index,landmark in
切换(landmark.name,isOn:self.$landmarks[index].isFavorite)
}
为此:

List(landmarks){索引中的landmark
切换(landmark.name,isOn:self.$landmarks[index].isFavorite)
}
但是,是否可以编写另一个扩展初始化器,以避免使用索引和下标(
self.$landmarks[index]

我曾尝试使用
dynamicMemberLookup
,但如果这是解决方案,我还没有找到正确的方法