这个区块在Swift - Alamofire中意味着什么?

时间:2015-07-12 06:14:36

标签: ios swift alamofire

这是Alamofire / Manager.swift中的代码块:

  • 它位于名为“public class Manager”的类中
public static let sharedInstance: Manager = {
    let configuration: NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
    configuration.HTTPAdditionalHeaders = Manager.defaultHTTPHeaders

    return Manager(configuration: configuration)
}()

显然,这是“让一些东西等于封闭”,但我不知道的是,行尾的“()”是什么意思?

推迟执行代码?怎么样? (在我看来,执行不会延迟,因为它有“()”?我想知道为什么这不会导致现有的内存圈?它返回Manger本身,返回的新实例也将做同样的事情,回归新的自我...

为什么关键词“懒惰”?

我有一种奇怪的感觉,我似乎也在其他地方使用过这种用法。我现在正在学习斯威夫特60天。我快还是慢?如何成为iOS开发人员?(我的意思是如何成为一个真正的开发人员,而不是注册该程序)

现在我有点困惑并且阅读了我能得到的所有源代码。有时我觉得官方文档和Xcode很糟糕,我不知道如何阅读源代码。有什么提示和建议吗?

3 个答案:

答案 0 :(得分:0)

这用闭包的结果初始化HTTPAdditionalHeaders(最后没有parens它只是将它初始化为闭包本身)它是初始化变量的标准语法,初始化器太复杂了简单的表达。在此,需要多个语句才能初始化{{1}}。

答案 1 :(得分:0)

好的,我犯了一个错误。诀窍在于sharedInstance使用了一个关键词" static"这很常见,但在我最熟悉的python中,请不要使用这个关键词。

根据官方指南:

“您还可以定义属于该类型本身的属性,而不是该类型的任何一个实例。无论您创建的该类型的实例有多少,这些属性都只会有一个副本。这些属性称为类型属性。“

Apple Inc.“Swift编程语言”。 iBooks的。 https://itun.es/cn/jEUH0.l

答案 2 :(得分:0)