swift - 如何让元组符合序列?
问题描述
我在 Swift 5 中有以下代码:
func iceCreamFlavors() -> (String, String, String) {
return ("Chocolate", "42", "Vanilla")
}
for index in iceCreamFlavors(){
print(index)
}
我只是试图迭代返回的元组中的元素。但是,我收到以下错误:error: for-in loop requires '(String, String, String)' to conform to 'Sequence'
如何让元组符合序列?我需要扩展 Sequence 协议吗?如果是这样,我应该怎么做?
解决方案
在您的示例函数中,您将返回 3 个元素,并且没有其他选项是可能的。如果您想要不同的数字,请使用 [String] 作为结果,即
func iceCreamFlavors() -> [String] {
["Chocolate", "42", "Vanilla"]
}
返回一个数组将允许您迭代它的元素:
let flavors = iceCreamFlavors()
print(flavors.count)
for flavor in flavors {
print(flavor)
}
推荐阅读
- c# - LINQ 表达式 - 根据 LinkLabel 中指定的名称返回用户 ID
- python - 什么是“AttributeError:'str' 对象没有属性 'native_events_enabled”错误?使用 selenium 和 python 时出现
- python - 如何使用 Python 将文件上传到 GitLab 的 WIKI
- javascript - 如何在jQuery中更改DataTables中一列的值
- php - 改变现有网站的不同方式
- python - 跟踪 grpc 服务器上的多个客户端
- javascript - 仅禁用 IE 11 的插件
- android - RecyclerView 滑动以添加较旧的 Firebase 数据
- javascript - 使用 css/html/angular 使组件居中
- javascript - 用于切换的 jQuery 脚本只能工作两次