为什么会产生错误:
这并不是:
如果重要,请点击下面的实时代码:
alertController.addAction(UIAlertAction(title: "Resend Verification Email",
style: UIAlertActionStyle.Destructive,
handler: {
(alert: UIAlertAction!) in
println("without this line there is a syntax error, why?")
self._userVerificationService?.triggerEmailVerifiectionResentForUser(PFUser.currentUser())
}))
答案 0 :(得分:2)
这是我的猜测。你的函数triggerEmailVerifiectionResentForUser有一个返回值。 Swift中的单行闭包隐含了它们的一行的返回值,所以你的闭包返回了一些东西。
UIAlertAction的init需要一个返回Void的闭包。由于您的闭包隐式返回某些内容,因此它与返回Void的init的要求不匹配。
当闭包有一个额外的行时,它不再隐式地获取返回值,因此它会像你想要的那样返回Void,从而匹配UIAlertAction init的方法签名。
答案 1 :(得分:0)
Verifiection
.triggerEmailVerifiectionResentForUser
的拼写是否有拼写错误?
编辑: 好。所以不是这样。
这有用吗? :
alertController.addAction(UIAlertAction(title: "Resend Verification Email", style: .Destructive) { (action) in self._userVerificationService?.triggerEmailVerifiectionResentForUser(PFUser.currentUser()) })