Eu quero criar um tipo genérico, que aceita qualquer coisa que esteja em conformidade com CustomStringConvertible
e, em seguida, itera sobre os itens.
Aqui está um exemplo que destila baixo que o problema:
public struct Test<ItemType: CustomStringConvertible, Hashable>: View {
var items: [ItemType]
public var body: some View {
ForEach(items, id: \.self) { item in
Text("test")
}
}
}
let items: [String] = ["a", "b"]
let viewController = UIHostingController(rootView: Test(items: items))
Então, eu recebo um erro
Generic struct 'ForEach' requires that 'ItemType' conform to 'Hashable'
e
Generic parameter 'Hashable' could not be inferred
Então, o que estou fazendo de errado?