swift - почему глобальная статическая переменная не является init? - PullRequest
0 голосов
/ 24 сентября 2019

Задача

  • Иногда (возможно, резьба) kIndexMinID, kIndexMaxID значение равно 0

Код

// test.swift
let kIndexMinID :Int    = 100
let kIndexMaxID :Int    = 200

Вопрос

  • Почему не значение инициализации?(когда init?)
  • Как глобальная переменная init?

Status

  • Xcode 8.2.1
  • Apple Swift версии 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1)

1 Ответ

3 голосов
/ 24 сентября 2019

Настоятельно рекомендуется инкапсулировать константы в структурах

struct Constants {
   static let kIndexMinID = 100
   static let kIndexMaxID = 200
}

Преимущество (кроме инкапсуляции) заключается в том, что константы инициализируются лениво.

...