어트리뷰트는 Swift에서 특별한 의미나 기능을 코드 선언에 부여하는 강력한 도구입니다. 본 포스트에서는 Swift의 몇 가지 주요 어트리뷰트에 대해 설명하고 예제로 살펴보겠습니다.
이 어트리뷰트는 특정 플랫폼 또는 언어 버전에서 선언이 사용 가능한지를 나타냅니다.
@available(iOS 10, macOS 10.12, *)
func myFunction() {
// ...
}
Objective-C와의 상호작용을 가능하게 하는 어트리뷰트입니다.
@objc class MyObjectiveCClass: NSObject {
@objc func myMethod() {
// ...
}
}
이 어트리뷰트는 함수의 리턴값을 활용하지 않는 경우 사용합니다.
@discardableResult
func functionThatReturnsValue() -> Int {
return 42
}
Interface Builder와의 연동을 위한 어트리뷰트로, UI 요소의 연결과 액션 처리에 사용됩니다.
@IBOutlet weak var myButton: UIButton!
@IBAction func buttonPressed(_ sender: UIButton) {
// ...
}
재사용 가능한 프로퍼티 래퍼를 정의하여 코드 중복을 줄일 수 있는 어트리뷰트입니다.
@propertyWrapper
struct Capitalized {
private var value: String
var wrappedValue: String {
get { value }
set { value = newValue.capitalized }
}
}