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

Swift字典按整数下标访问报错?符合Hashable仍失效原因咨询

Swift字典无法使用整数下标访问的原因及解决方法
  • 你混淆了Apple文档中“字典的Index”概念:文档里的Index并非普通整数,而是字典自身的Indices类型索引,用于遍历字典内部元素,和数组的整数下标逻辑完全不同。
  • 字典本质是无序键值对集合(即使Swift后来支持有序字典,下标仍不接受整数参数),不存在“第N个元素”的定义,直接传入整数0不符合字典下标的参数要求,因此报错。
  • 如果需要按位置获取字典元素,可先将字典的键、值或键值对转换为数组,再用整数下标访问,示例代码:
func test() {
    let dictionary = [CustomKey: [CustomValue]]()

    // 方式1:通过键数组获取对应值
    if let firstKey = dictionary.keys.first {
        let indexedValue = dictionary[firstKey]
    }

    // 方式2:转成键值对数组后访问
    let keyValueArray = Array(dictionary)
    if let firstPair = keyValueArray.first {
        let targetKey = firstPair.key
        let targetValue = firstPair.value
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 06:15:06