元素上具有可识别约束的swift泛型序列
看起来应该很容易,但我找不到任何方法将项目序列上的泛型约束为特定的项目类型。在这种情况下,我想说我可以处理任何序列,只要组成序列的项目都是可识别的元素上具有可识别约束的swift泛型序列,swift,Swift,看起来应该很容易,但我找不到任何方法将项目序列上的泛型约束为特定的项目类型。在这种情况下,我想说我可以处理任何序列,只要组成序列的项目都是可识别的 //这些都不能编译 // 结构GridView:视图,其中列表:序列,列表。类型:可识别 struct GridView:视图,其中List:Sequence,Item:Identifiable,List.Type==Item struct GridView:视图,其中列表:序列,项:可识别,列表。类型:项 有什么办法吗?目前,我只需要一个泛型类
//这些都不能编译
//
结构GridView:视图,其中列表:序列,列表。类型:可识别
struct GridView:视图,其中List:Sequence,Item:Identifiable,List.Type==Item
struct GridView:视图,其中列表:序列,项:可识别,列表。类型:项
有什么办法吗?目前,我只需要一个泛型类型“Item”-并使用[Item]-就可以了,但理想情况下,我希望使用任何序列-而不是强制它成为一个列表。struct GridView:View where list.Element:Identifiable{
struct GridView<List: Sequence>: View where List.Element: Identifiable {
// ...
}
// ...
}
Sequence
定义了一个名为Element
的关联类型,您可以将其约束为符合可识别的struct GridView:View where List.元素:可识别的{
// ...
}
序列
定义了一个名为元素
的关联类型,您可以将其约束为符合可识别
第一个类型几乎是正确的。要引用序列的元素类型
,请使用,而不是.type
<代码>类型
指类型的类型
struct GridView<ListType>: View where ListType: Sequence, ListType.Element: Identifiable
struct GridView:视图,其中ListType:序列,ListType.元素:可识别
第一个几乎是正确的。要引用序列的元素类型
,请使用,而不是.type
<代码>类型
指类型的类型
struct GridView<ListType>: View where ListType: Sequence, ListType.Element: Identifiable
struct GridView:视图,其中ListType:序列,ListType.元素:可识别