Ich habe eine Methode, die über ein Array iteriert und andere Methode mit jedem Element als Argument aufrufen. Wenn ich erklären, diese Methode als:Iterieren über eine Sammlung in Swift: var vs. lassen
func didFinishedListFiles(files: [FileModel]) {
for var fileData in files {
self.downloadSingleFile(NSUUID(UUIDString: fileData.uuid!)!);
}
}
Xcode eine Warnung zeigt:
Variable 'fileData' was never mutated; consider changing to 'let' constant
Aber wenn ich ändern var
-let
:
func didFinishedListFiles(files: [FileModel]) {
for let fileData in files {
self.downloadSingleFile(NSUUID(UUIDString: fileData.uuid!)!);
}
}
Xcode einen Fehler zeigt:
'let' pattern cannot appear nested in an already immutable context
Wie kann man es ohne Warnungen/Fehler korrekt implementieren?
Isn‘ t es nur 'für fileData in Dateien {...'. Keine var oder lassen benötigt. – Fogmeister
Danke, du hast recht ... ehhh –
Gern geschehen. Ich denke, es macht es implizit zu einem "Let" und wenn Sie das Objekt in der Sammlung mutieren wollen, müssen Sie es explizit als 'var' setzen. – Fogmeister