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

Swift中如何遍历Request对象内的Bottle数组获取name属性

因为你定义的RequestData是带关联值的枚举类型,无法直接访问内部存储的属性,需要先匹配枚举的case取出关联的[Bottle]数组,之后就可以正常遍历访问每个Bottle实例的name属性。

实现代码

通用写法(适配多类型返回)

switch requestData.data {
case .bottle(let bottles):
    // 遍历打印所有name
    for bottle in bottles {
        print(bottle.name)
    }
    // 把所有name提取为数组的快捷写法
    let allBottleNames = bottles.map(\.name)
    print(allBottleNames)
}

简化写法(确定返回类型为bottle时使用)

if case .bottle(let bottles) = requestData.data {
    let allNames = bottles.map { $0.name }
    // 直接使用allNames数组即可
}

如果后续你新增了其他返回对象类型,只需要在RequestData、ObjectType枚举中添加对应的case,再在switch分支中补充对应类型的处理逻辑即可,原有架构不需要做大量改动。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:39:03