gpt4 book ai didi

ios - 形状数组 - 协议(protocol)只能用作通用约束

转载 作者:行者123 更新时间:2023-11-28 23:21:57 24 4
gpt4 key购买 nike

我用 SwiftUI 创建了一些形状,我想将它们保存在一个数组中,这样我就可以遍历它们并在 View 中显示它们。让 diceShapes: [Shape] = [Triangle(), Pentagon(), ....]

但是,我在保存数组时收到一条错误消息 Protocol 'Shape' can only be used as a generic constraint because it has Self or associated type requirements

Shape 本身没有任何关联类型,但 Shape 符合 View 和 Animatable,它们都有一个关联类型,所以我想这就是问题所在!?我想过添加一个符合 Shape 的结构或类似的东西,但我无法让它工作。它不一定是一个数组,我对应该返回 Shape-like 的函数有同样的问题。谢谢。

最佳答案

将它们包装到 AnyView 类型的橡皮擦中,如

let diceShapes: [AnyView] = [AnyView(Triangle()), AnyView(Pentagon()), ....]

关于ios - 形状数组 - 协议(protocol)只能用作通用约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59513828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com