【发布时间】:2015-11-13 16:26:10
【问题描述】:
我有一个方法可以遍历一个数组并以每个元素作为参数调用其他方法。如果我将此方法声明为:
func didFinishedListFiles(files: [FileModel]) {
for var fileData in files {
self.downloadSingleFile(NSUUID(UUIDString: fileData.uuid!)!);
}
}
Xcode 显示警告:
变量“fileData”从未发生变异;考虑更改为“让”常量
但如果我将var 更改为let:
func didFinishedListFiles(files: [FileModel]) {
for let fileData in files {
self.downloadSingleFile(NSUUID(UUIDString: fileData.uuid!)!);
}
}
Xcode 显示错误:
'let' 模式不能嵌套在已经不可变的上下文中
如何在没有任何警告/错误的情况下实现它的正确方法?
【问题讨论】:
-
不就是
for fileData in files {...。不需要 var 或 let。 -
谢谢,你是对的... ehhh
-
不客气。我认为它隐含地使它成为
let,如果你想改变集合中的对象,那么你必须明确地将它设置为var