Ich habe eine schwere Zeit zu verstehen, ein Problem, das ich habe. Um zu vereinfachen, verwende ich die UIView-Methode. Grundsätzlich, wenn ich die MethodeSwift Completion Block
UIView.animateWithDuration(1, animations: {() in
}, completion:{(Bool) in
println("test")
})
schreiben funktioniert es gut. Nun, wenn ich die gleiche Methode, aber eine Zeichenfolge wie so erstellen:
UIView.animateWithDuration(1, animations: {() in
}, completion:{(Bool) in
String(23)
})
es nicht mehr funktioniert. Compiler-Fehler: Fehlendes Argument für Parameter 'Verzögerung' im Aufruf
Nun, hier ist der seltsame Teil. Wenn ich den exakt gleichen Code wie das zu tun, die fehlschlägt, aber nur einen Druckbefehl hinzufügen, etwa so:
UIView.animateWithDuration(1, animations: {() in
}, completion:{(Bool) in
String(23)
println("test")
})
es beginnt wieder zu arbeiten.
Mein Problem ist im Grunde das Gleiche. Mein Code:
downloadImage(filePath, url: url) {() -> Void in
self.delegate?.imageDownloader(self, posterPath: posterPath)
}
Funktioniert nicht. Aber wenn ich mich ändere.
downloadImage(filePath, url: url) {() -> Void in
self.delegate?.imageDownloader(self, posterPath: posterPath)
println("test")
}
oder sogar:
downloadImage(filePath, url: url) {() -> Void in
self.delegate?.imageDownloader(self, posterPath: posterPath)
self.delegate?.imageDownloader(self, posterPath: posterPath)
}
Es funktioniert gut. Ich kann nicht verstehen, warum das passiert. Ich bin nah dran zu akzeptieren, dass es ein Compiler Bug ist.
Danke. Aber warum scheitert es nicht, wenn ich String (23) hinzufüge und die gleiche Zeile wieder kopiere wie: String (23); Schnur (23); ? – Wak
Ich war gerade dabei, das in der Antwort zu klären. Siehe Bearbeiten. –
Danke für diese Antwort; half mir herauszufinden, warum ich eine seltsame "kann nicht animateWithDuration 'mit einem Argument Liste der Art ..." Fehler aufrufen. Es stellte sich heraus, dass der Fix genau gleich war. – SonarJetLens