共享的类型是什么?

时间:2018-11-23 09:00:21

标签: arrays swift

共享的类型是什么?代码末尾的括号用于什么?    谢谢!

class CallHistories: NSObject {
  private var timer: Timer?
  private var refreshUICallHistories = false
  private var firebase: DatabaseReference?

  static let shared: CallHistories = {
    let instance = CallHistories()
    return instance
  } ()
}

4 个答案:

答案 0 :(得分:0)

不,共享只是延迟初始化的CallHistories实例。

答案 1 :(得分:0)

类型为CallHistories。这是一个单例,该类的单个共享实例,在应用程序的生命周期中一直存在。

实例是惰性创建的,这意味着它在shared的首次访问时创建了一次。

通过您的代码已过时的方式。在Swift 3+中,只需编写(无需关闭)。

static let shared = CallHistories()

然后您将使用它

let sharedHistories = CallHistories.shared

答案 2 :(得分:0)

  • 如果您要问“ shared”是否为数组? 然后否, 它是CallHistories

  • 的一个实例
  • 如果需要将其设置为数组。然后

    static let shared: [CallHistories] = {
        let arrayInstance = [CallHistories]()
        return arrayInstance    
    } ()
    

PS :(我尚未测试此代码)

答案 3 :(得分:0)

Shared是类型CallHistories的对象。末尾有方括号,因为变量shared用闭包初始化。您可以通过以下方式初始化任何变量:

let myCustomView: UIView = {
    let view = UIView()
    return view
}()

更多示例在这里:

Initialize closure in Swift