У меня есть следующий код в быстром файле:
func testDictionary(dict :Dictionary<String,AnyObject>) {
var str = ""
for var key in dict.keys {
str += key + ":" + dict[key]!.description + "\n"
}
self.alert("Dict", message: str)
}
Приведенный выше код выдает предупреждение пользователю var
в цикле for
, которое:
Variable 'key' was never mutated; consider changing to 'let' constant
Однако, когда я меняю var
на let
, я получаю следующую ошибку:
'let' pattern cannot appear nested in an already immutable context
Почему я получаю предупреждение, когда предлагаемая коррекция является ошибкой компилятора?