[swift] 프로퍼티 래퍼

Swift에서 프로퍼티 래퍼(Property Wrapper)는 속성을 감싸는 역할을 합니다. 즉, 속성에 대한 getter와 setter 로직을 래핑하여 코드의 재사용성을 높이고 반복되는 코드를 줄일수 있습니다.

프로퍼티 래퍼의 사용 예시

프로퍼티 래퍼를 사용하여 코드의 가독성을 향상시키고 반복되는 코드를 줄이는 예시를 살펴보겠습니다.

@propertyWrapper
struct Trimmed {
    private(set) var value: String = ""
    
    var wrappedValue: String {
        get { value }
        set { value = newValue.trimmingCharacters(in: .whitespacesAndNewlines) }
    }
}

struct User {
    @Trimmed var username: String
    @Trimmed var password: String
}

var user = User(username: "   john_doe   ", password: "   password123   ")
print(user.username) // "john_doe"
print(user.password) // "password123"

위 예시에서 @Trimmed 래퍼를 활용하여 usernamepassword의 값이 자동으로 trimming(양 끝의 공백 제거)되도록 했습니다.

프로퍼티 래퍼의 장점

프로퍼티 래퍼는 Swift의 강력한 기능 중 하나로, 코드의 품질을 향상시키고 생산성을 높이는데 큰 도움을 줍니다.

더 자세한 내용은 Swift 공식 문서를 참고하세요.