【发布时间】:2016-12-01 21:26:06
【问题描述】:
我有一个接受inout 参数的函数
func modify(word: inout Word)
我需要在数组的每个元素上调用它。这就是我的工作
for word in words {
modify(word: &word)
}
但我得到错误:
不能将不可变值作为 inout 参数传递:'word' 是 'let' 常量
我尝试遍历mapwords.map{ modify(word:&$0) },还是一样的错误:
不能将不可变值作为 inout 参数传递:'0$' 是不可变的
有没有办法在数组的每个元素上调用带有inout 参数的函数?
【问题讨论】:
-
不要使用 inout。如果必须,那么您将需要遍历数组,使用修改后的单词构建一个新数组或使用索引变量而不是枚举