2016-08-15 3 views
0

zu verwenden Ich versuche, Schließung Xcode8 beta4 mit Swift3 zu verwenden, aber es funktioniert nicht. Gleiche Funktionen mit Schließung in Swift2.2, aber es schlägt in Swift3 fehl.Nicht in der Lage, Verschlusssyntax in Swift 3

Swift 2,2

UIView.animateWithDuration(0.5, animations: { 

     self.viewForInstagramLoginWebView.frame = CGRectMake(x, y,self.viewForInstagramLoginWebView.frame.size.width , self.viewForInstagramLoginWebView.frame.size.height) 

    }) { (finished) in 

     SVProgressHUD.dismiss() 
    } 

Aber gleiche Syntax funktioniert nicht mit swift3.

Versuchen Sie auch, indem Sie Funktion mit Schließung erstellen.

func greetingMessageWithDate(date : NSDate, message :String, successHandler : (greetingMessage : String, code : Int) -> Void){ 

} 

Gleiche Funktion arbeitet in Swift 2.2, aber nicht in 3 Swift

Auch mit SDWebImage Abschluss Block zugewandt Problem. Ich kann SDWebImage ohne Abschluss-Handler verwenden, aber mit Abschluss-Handler schlägt es fehl.

Funktioniert ohne Abschluss-Handler.

imageView.sd_setImage(with: URL(string: "imageURL"), placeholderImage: UIImage(named : "imageName")) 

Wenn jedoch mit Complete-Handler verwendet wird, beschwert sich Compiler mit gegebener Nachricht.

mehrdeutige Verwendung von "sd_setImage (mit: placeholderImage: fertig :)

enter image description here

imageView.sd_setImage(with: url, placeholderImage: UIImage(named: "imageName"), completed: { (image, error , cacheType , imageURL) in 

     }) 

Es sieht aus wie eine Änderung der Schließung Syntax sein würde, aber wie das finden Was läuft falsch?

Antwort

1

UIView Animation Syntax in Swift geändert 3:

UIView.animate(withDuration: 0.5, animations: { 

}, completion: { (Bool) in 

}) 

Aufruf greetingMessageWithDate:

greetingMessageWithDate(date: Date(), message: "") { (greetingMessage: String, code: Int) in 

} 
+0

Können Sie mir Lösung für 'SDWebImage'? – technerd

+0

Ich denke, es ist momentan nicht kompatibel zu Swift 3. Die reguläre Swift 3-Syntax funktioniert nicht ohne weiteres. Es gibt auch ein offenes Problem bezüglich der Swift 3-Unterstützung: https://github.com/rs/SDWebImage/issues/1627 –

+0

Könnten Sie die Antwort als richtig für die allgemeine Verwendung von Schließungen mit Swift 3 markieren? –