You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中Type 'Any' cannot conform to 'Equatable'错误原因咨询

错误原因分析

核心问题:数组元素类型未明确且不满足Equatable协议要求

  • 你声明的var savedGoals = []在Swift中会被自动推断为[Any]类型的数组(因为没有指定具体元素类型)。
  • index(of:)方法的工作逻辑是通过元素相等性比较来查找索引,这要求数组的元素类型必须遵循Equatable协议——只有实现了该协议的类型,才能用==运算符判断两个实例是否相等。
  • 但Any类型本身并没有遵循Equatable协议,编译器无法判断传入的id和数组中Any类型的元素是否相等,因此抛出Type 'Any' cannot conform to 'Equatable'错误。

附加影响:id的类型模糊

从items[indexPath.row]["id"]获取的id,其类型同样未明确(大概率也是Any),进一步导致编译器无法完成相等性校验,加重了这个错误。

内容的提问来源于stack exchange,提问作者Chris Hansen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 21:02:32