[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
래퍼를 활용하여 username
과 password
의 값이 자동으로 trimming(양 끝의 공백 제거)되도록 했습니다.
프로퍼티 래퍼의 장점
- 복잡한 로직을 캡슐화하여 재사용성을 높일 수 있습니다.
- 반복되는 코드를 줄여 코드 중복을 방지할 수 있습니다.
- 코드의 가독성을 향상시키고 유지보수를 용이하게 합니다.
프로퍼티 래퍼는 Swift의 강력한 기능 중 하나로, 코드의 품질을 향상시키고 생산성을 높이는데 큰 도움을 줍니다.
더 자세한 내용은 Swift 공식 문서를 참고하세요.