В приведенном ниже коде
private let conversionRate = 1.3
приведенное выше является переменной экземпляра, т. Е. Будет длиться до тех пор, пока существует экземпляр из CurrencyConverter
(c
). Как только c
выходит из области видимости, область действия conversionRate's
также заканчивается.
Принимая во внимание, что в приведенном ниже коде
private static let conversionRate = 1.3
Здесь conversionRate
связан с class CurrencyConverter
, а не экземпляр . Таким образом, он останется в памяти, даже если экземпляр c
выходит из области видимости, т. Е. До тех пор, пока приложение работает.
Таким образом, создание переменной экземпляра более оптимизировано, чем создание stati c переменная .