IT/Swift

[Swift] 어트리뷰트 키워드(Attribute keyword)

미닉길 2025. 3. 14. 00:56
반응형

안녕하세요. 도미닉입니다.

 

오늘은 어트리뷰트 키워드(Attribute keyword)에 대해서 알아보겠습니다.

 

어트리뷰트 키워드란?

@와 이름를 붙여서 컴파일러에게 추가적인 정보를 제공하는 키워드입니다.

 

어트리뷰트 키워드는 크게 두 종류로 나뉩니다.

1. 선언에 추가 정보 제공

클래스나 함수의 선언 위에 줄에 @와 이름을 적어서 컴파일러에 정보를 제공합니다.

@available 키워드를 통해 MyClass의 선언에 추가적인 정보를 제공합니다.

 

2. 타입에 추가 정보 제공

두번째로는 타입에 추가 정보를 제공할 수 있습니다.

@escaping 키워드를 통해 () -> () 타입에 추가적인 정보를 제공합니다.

 

이러한 키워드를 통해 컴파일러는 해당 선언과 타입에 대한 추가적인 정보를 제공받아서 컴파일합니다.

 

어트리뷰트 키워드의 몇가지 예는?

@discardableResult 키워드

리턴 값이 있는 함수를 호출할 때 리턴 값을 사용하지 않을 경우에 발생하는 경고를 숨겨줍니다.

 

함수의 리턴 값이 있을 때 그 리턴 값을 사용하지 않는다면 아래와 같이 경고가 보여집니다.

 

아래와 같이 함수 선언 시 @discardableResult 를 붙여줍니다.

 

경고가 사라집니다.

 

@unknown 키워드

 

열거형의 케이스가 늘어났을 경우 새로 생긴 케이스가 switch 문에 default 를 자동으로 실행하지 않도록 사용합니다.

 

default 앞에 @unknown 키워드를 붙이면 모든 케이스가 작성되지 않으면 경고를 표시합니다.

이런 식으로 동네를 열거형으로 만들고 default 에 남산을 작성할 수 있습니다.

 

동네에 뚝섬이 추가되었을 때 뚝섬도 switch 문에서 default 로 빠져서 "남산"이 출력될 것입니다.

 

이 때 default 앞에 @unknown 키워드를 붙이게 되면 모든 케이스를 작성하지 않으면 경고를 표시합니다.

 

아래와 같이 모든 케이스를 작성하면 경고가 사라지는 것을 볼 수 있습니다.

 

@IBOutlet, @IBAction 키워드

UIKit 을 사용하면 무조건 보게 되는 키워드죠.

 

outlet 은 배출구라는 의미입니다.

 

IBOutlet은 우리가 코드에서 만든 뷰를 화면에 배출하는 것으로 이해합니다.

 

반면에 action 은 화면에서 버튼 등을 눌렀을 때의 동작을 코드로 전달해 액션을 실행합니다.

 

정리

 

오늘은 어트리뷰트 키워드가 무엇인지와 2가지의 어트리뷰트 키워드의 예를 살펴봤습니다.

 

공부에 도움이 되었으면 합니다.

 

읽어주셔서 감사합니다

참고

https://clamp-coding.tistory.com/356

 

[Swift]. @어트리뷰트 키워드와 다양한 키워드들

어트리뷰트 키워드 컴파일러에게 추가적인 정보를 제공하는 키워드 @available, @objc, @escaping, @IBOutlet, @IBAction, @discardableResult ... 1. 선언에 추가적인 정보를 제공 @available(iOS 11.0, macOS 10.12, *) class MyCl

clamp-coding.tistory.com

https://lidium.tistory.com/36

 

[iOS] Swift Attributes를 배워보자

docs.swift.org/swift-book/ReferenceManual/Attributes.htmlAttributes — The Swift Programming Language (Swift 5.3)Attributes There are two kinds of attributes in Swift—those that apply to declarations and those that apply to types. An attribute provides

lidium.tistory.com

 

 

반응형