Swift中的静态属性和静态函数之间有任何区别



我想知道这两个声明之间是否有任何区别?

static var sessionConfiguration: URLSessionConfiguration = {
let myConfig = URLSessionConfiguration.default
let base64LoginString = EndpointController.getBase64StringLoginWithUserAndPasswordV2()
myConfig.httpAdditionalHeaders = ["Authorization" : base64LoginString]
return myConfig
}()

static func getURLSessionConfigurationDefault() -> URLSessionConfiguration {
let myConfig = URLSessionConfiguration.default
let base64LoginString = EndpointController.getBase64StringLoginWithUserAndPasswordV2()
myConfig.httpAdditionalHeaders = ["Authorization" : base64LoginString]
return myConfig
}

var t = { }()语法中:{ }是一个返回值的函数,()调用该函数一次以设置变量t的初始值。您可以稍后将t更改为其他内容,因为它是var。该语法类似于var a = 42,但您将其设置为运行函数的结果,而不是42,例如:{ return 42 }(),但该函数并不是每次读取(或写入(值t时都运行

getURLSessionConfigurationDefault() -> URLSessionConfiguration总是创建某个事物的新实例,并返回该新实例——函数的结果。

最新更新