Skip to main content
Journey Uncommon Logo
JourneyUncommon
mediumSwiftproperty wrappersSingle-choice MCQ

When a property wrapper exposes a `projectedValue`, how do you access it from outside, and what is the relationship between the wrapper's stored `wrappedValue` and `projectedValue`?

@propertyWrapper struct Clamped { private var value: Int let range: ClosedRange<Int> var wrappedValue: Int { get { value } set { value = min(max(newValue, range.lowerBound), range.upperBound) } } var projectedValue: Bool { value == range.upperBound } init(wrappedValue: Int, _ range: ClosedRange<Int>) { self.range = range self.value = min(max(wrappedValue, range.lowerBound), range.upperBound) } } struct S { @Clamped(0...10) var level = 5 }