-
์ง์ฐ ์ ์ฅ ํ๋กํผํฐ (Lazy Stored Properties)
-
์ด ํ๋กํผํฐ๊ฐ ํธ์ถ๋๊ธฐ ์ ๊น์ง๋ ์ด๊ธฐํ๋์ง ์๋ค๊ฐ, ํธ์ถ๋ ๋ ์ด๊ธฐํ ๋จ
-
๋ณต์กํ ๊ณ์ฐ, ๋ถํ๊ฐ ๋ง์ด ๊ฑธ๋ฆฌ๋ ์์ ์์ ์ง์ฐ ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ถํ์ํ ์ฑ๋ฅ์ ํ, ๊ณต๊ฐ ๋ญ๋น๋ฅผ ์ค์ผ ์ ์์
-
์์ :
lazy var
์ฃผ์
lazy let
์ ํ๋ฆฐ ํํ
struct ColorSet {
var red: Int = 255
var green: Int = 255
var blue: Int = 255
}
class ArtWork {
// ์ง์ฐ ์ ์ฅ ํ๋กํผํฐ
lazy var backgroundColor: ColorSet = ColorSet()
let name: String
init(name: String) {
self.name = name
}
}
let myFavoriteArtWork = ArtWork(name: "Composition II with Red Blue and Yellow")
print(myFavoriteArtWork.backgroundColor) // ์ด๋ ColorSet ์์ฑ
ColorSet(red: 255, green: 255, blue: 255)