[英]What does this block mean in Swift - Alamofire?
这是Alamofire / Manager.swift中的代码块:
public static let sharedInstance: Manager = {
let configuration: NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.HTTPAdditionalHeaders = Manager.defaultHTTPHeaders
return Manager(configuration: configuration)
}()
显然,这是“让某物等于闭包”,但是我没有得到的是行尾的“()”是什么意思?
推迟执行代码? 怎么样? (在我看来,执行不会延迟,因为它带有“()”?而且我想知道为什么这不会导致内存循环的存在?它返回管理器本身,并且返回的新实例也将做同样的事情,返回一个新的自我...
为什么不使用关键字“懒惰”?
我有一种奇怪的感觉,我似乎也在其他地方使用过这种用法。 我现在正在学习Swift 60天。 我快还是慢? 也要成为一名iOS开发人员吗?(我的意思是要成为一名真正的iOS开发人员,而不是注册该程序)
现在,我有点困惑,正在阅读我可以获得的所有源代码。 有时,我觉得官方文档和Xcode很烂,而且我不知道如何从头阅读源代码。 有什么提示和建议吗?
这将使用闭包的结果来初始化sharedInstance
(最后没有括号的话,它只会将其初始化为闭包本身)。这是一种标准语法,用于使用对于简单表达式而言过于复杂的初始化程序来初始化变量。 在这种情况下,需要多个语句,以便可以初始化HTTPAdditionalHeaders
。
好的,我弄错了。 诀窍在于,sharedInstance使用了关键字“静态”,这很常见,但是在我最熟悉的python中,不要使用此关键字。
根据官方指南:
“您还可以定义属于类型本身的属性,而不是属于该类型的任何一个实例。 无论您创建了多少个该类型的实例,这些属性将永远只有一个副本。 这些属性称为类型属性。”
苹果公司“快速编程语言”。 iBooks的。 https://itun.es/cn/jEUH0.l
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.