我正在尝试从parse.com实现一些代码,并且in在void后发现一个关键字。
in
我难住了,这是什么?您在第二行看到Void in
Void in
PFUser.logInWithUsernameInBackground("myname", password:"mypass") { (user: PFUser?, error: NSError?) -> Void in if user != nil { // Do stuff after successful login. } else { // The login failed. Check error to see why. } }
该文档没有对此进行说明。我知道in关键字用于for循环。
for
有人确认吗?
在命名函数中,我们声明参数并在func声明行中返回类型。
func
func say(s:String)->() { // body }
在匿名函数中,没有func声明行-它是匿名的!因此,我们in在正文的开头使用一行来代替。
{ (s:String)->() in // body }
(这是匿名函数的 完整 形式。但是Swift拥有一系列规则,允许in在某些情况下省略返回类型,参数类型,甚至参数名称和整行。)