快速以不同方式初始化静态变量

时间:2019-10-05 15:43:08

标签: swift xcode

// Type 1:
class A {
    static let b = ["m":1, "n":2]
}
// Type 2:
class A {
    static let b: [String:Int] = {
         let result = ["m":1, "n":2]
         return result
    }()
}

当我们访问诸如A.b [“ m”]之类的静态变量时,初始化逻辑后面有什么区别吗?在什么情况下我们需要使用类型1而不是类型2?

1 个答案:

答案 0 :(得分:0)

2之间没有区别,静态变量将一次获取它的赋值,然后访问将相同

类型1:单行配置首选

类型2:在需要长时间配置返回的对象时使用e.x:需要配置许多属性的tableView委托/ dataSource / backgroundView