스위프트에서 어플을 만들 때 변수나 상수 앞에 @IBAction과 @IBOutlet이 붙는 것을 볼 수 있다.
특히 컴포넌트들을 끌어다 놓을 경우 자동으로 이러한 것들이 생기는 것을 볼 수 있다. 과연 그럼 무슨 의미를 가지고 있을까?
@IBOutlet과 @IBAction의 의미
둘의 역할은 아시다시피 StoryBoard와의 연결고리를 담당한다.
변수나 함수를 정의할 때 앞에 @IBAction 또는 @IBOutlet 키워드를 통해 StoryBoard에서 버튼이나 컴포넌트와의 연결이 가능하게 해주는 역할을 한다.
IBAction은 이벤트(터치, 드래그 등등)가 일어나 호출된 경우 Action(추가, 수정, 삭제)를 정의한 것이다.
IBOutlet은 값에 접근하기위한 변수라고 생각하면 쉽다.
앞에 붙은 IB는 Interface Builder의 약자로 Interface Builder로 부터 받아온 정보를 저장하거나 수행하겠다는 의미를 뜻한다고 보면 된다.
그렇다면 @는 무슨 의미를 하는 걸까?
@는 컴파일러에게 속성을 가지고 있다는 것을 전하는 예약어이다.
컴파일러에게 @가 붙은 명령어에 대해 어떤 속성(attribute)가 부여되었다는 것을 의미하는 것이다.(이게 있기에 UILabel이나 UIButton이랑 연결이 가능하게 되는 것이다.)
요약
@IBOutlet, @IBAction이 함수나 변수의 정의 앞에 붙어있다는 것은 Interface Builder에서 사용될 수 있고 UI로 연결이 가능하다는 것을 의미한다.
'iOS' 카테고리의 다른 글
[iOS] WKWebView (0) | 2022.07.28 |
---|---|
[iOS] 컬렉션뷰(Collection View) (0) | 2022.07.21 |
[iOS] TableViewController - Custom Table View Cell (0) | 2022.07.19 |
[iOS] TableViewController - System Cell (0) | 2022.07.18 |
[iOS] 생명주기 + AppDelegate & SceneDelegate (0) | 2022.07.17 |