기존에 선언했던 프로퍼티들은 Stored Properties다. Stored Properties의 기능은 메모리에 값을 저장하는 것이다.
하지만 Computed Properties라는 타입의 프로퍼티도 있다. 이 프로퍼티들은 본인의 값을 저장하는게 아닌 다른 나머지 프로퍼티들에 접근하고 값을 설정하고 가져오는 작업을 수행할 수 있다.
즉 Computed Properties = get, set을 이용한 프로퍼티
다음 두개의 메서드는 값을 get, set 할 수 있는 computed propertie들이며 이 메서드들은 getter, setter로 불리기도 한다.
import UIKit
// computed properties
struct Price {
var USD: Double
var rateToCAD: Double
var canadians: Double {
get {
return USD *. ateToCAD
}
}
}
아래는 읽기 전용과 읽기 쓰기 둘다 되는 computed propertie를 만든 것이다.
var purchase = Price(USD: 11, rateToCAD: 1.29)
print("Price in CAD: \(purchase.canadians)")
// read only properties
struct Price {
var USD: Double
var rateToCAD: Double
var canadians: Double {
return USD *. ateToCAD
}
}
var purchase = Price(USD: 11, rateToCAD: 1.29)
print("Price in CAD: \(purchase.canadians)")
// can set new value, properties
struct Price {
var USD: Double
var rateToCAD: Double
var canadians: Double {
get {
return USD *. ateToCAD
}
set {
USD = newValue * rateToUSD
}
}
}
var purchase = Price(USD: 11, rateToCAD: 1.29)
purchase.candians = 500
print("Price in CAD: \(purchase.canadians)")
'SwiftUI' 카테고리의 다른 글
List (0) | 2023.10.30 |
---|---|
Navigation Stack (0) | 2023.10.26 |
KeyPath, 키 경로 (0) | 2023.10.25 |
projectedValue (0) | 2023.10.25 |
Binding (0) | 2023.10.25 |