当前位置: 首页 > 面试题库 >

Swift`in`关键字的含义?

施阎宝
2023-03-14
问题内容

我正在尝试从parse.com实现一些代码,并且in在void后发现一个关键字。

我难住了,这是什么?您在第二行看到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循环。

有人确认吗?


问题答案:

在命名函数中,我们声明参数并在func声明行中返回类型。

func say(s:String)->() {
    // body
}

在匿名函数中,没有func声明行-它是匿名的!因此,我们in在正文的开头使用一行来代替。

{
    (s:String)->() in
    // body
}

(这是匿名函数的 完整 形式。但是Swift拥有一系列规则,允许in在某些情况下省略返回类型,参数类型,甚至参数名称和整行。)



 类似资料:
  • Swift 2 引入了 关键字,该关键字可用于确保各种数据已配置就绪。我在这个网站上看到的一个例子演示了一个提交已开发的功能: 我想知道使用< code>guard与使用< code>if条件的老式方法有什么不同。它能给你带来用简单的支票无法得到的好处吗?

  • 问题内容: 来自标准库的文件包含围绕228行的以下几行代码: 在这种情况下是什么意思,或者通常是什么关键字? 问题答案: 是Swift 3中的新访问级别,随实现而引入 SE-0117允许区分公共访问权限和公共替代权限 从2016年8月7日开始,Swift 3快照和Xcode 8 beta 6都可以使用它。 简而言之: 在定义模块之外, 可以访问 和 可继承 一个类。一类成员是 可访问 和 可重写

  • 问题内容: 我正在使用[UIImage:UIImage]类型的快速字典,并且正在尝试查找给定值的特定键。在Objective- C中,我可以使用allKeysForValue,但是Swift字典似乎没有这种方法。我应该使用什么? 问题答案: Swift 3:针对双射字典的特殊情况,性能更高 如果反向字典查找用例涵盖了在键和值之间具有一对一关系的双射字典,那么穷举收集操作的另一种方法是使用更快的短路

  • 问题内容: 当读取a的初始化程序时,我看到一些参数默认为value 。什么是关键词代表什么? 问题答案: 这不是有效的Swift代码,它是即时生成的。 在这里意味着有一些默认值,但发电机不能想像它适合你才能看到它。从技术上来说,默认值是一个内联函数,因此不能轻易将其转换为简单的声明。 您可以看到类似的声明 其中默认为(在Swift 1.x中)和默认为(在Swift 1.x中)。 在的情况下,默认值

  • 问题内容: 我了解操作员在此代码中的作用: 我也明白这将采用此代码中列表的每个值: 我很好奇,如果在使用的操作循环是一样的第一个代码使用运营商。 问题答案: 它们是相同的概念,但不是相同的运算符。 在示例中,是一个处理几种不同情况的运算符。在Python文档的运营商给予的细节,我意译如下:电话,如果有一个成员函数。否则,请尝试迭代查找,如果不存在,则调用。复杂性是为旧代码和新代码提供一致的成员资格

  • 本文向大家介绍java volatile关键字的含义详细介绍,包括了java volatile关键字的含义详细介绍的使用技巧和注意事项,需要的朋友参考一下 java volatile关键字 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入