какой тип общего? - PullRequest
       3

какой тип общего?

0 голосов
/ 23 ноября 2018

какой тип разделяемого? какая скобка в конце кода используется для? Спасибо!

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 голосов
/ 23 ноября 2018

Shared является объектом типа CallHistories.В конце есть скобки, потому что переменная shared инициализируется с закрытием.Вы можете инициализировать любую переменную следующим образом:

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

Дополнительные примеры здесь:

Инициализация закрытия в Swift

0 голосов
/ 23 ноября 2018

Тип CallHistories.Это одиночный, одиночный общий экземпляр класса, который сохраняется в течение жизненного цикла приложения.

Экземпляр создается лениво, что означает, что он создается один раз при первом доступе shared.

Кстати, ваш код устарел.В Swift 3+ просто напишите (без замыкания).

static let shared = CallHistories()

И вы собираетесь использовать его с

let sharedHistories = CallHistories.shared
0 голосов
/ 23 ноября 2018
  • Если вы спрашиваете, является ли 'shared' массивом? Тогда НЕТ , это экземпляр CallHistories

  • Если вам нужно сделать его массивом.Тогда

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

PS: (Я не проверял этот код)

0 голосов
/ 23 ноября 2018

Нет, shared - это просто экземпляр CallHistories, который инициализируется лениво.

...