josee2
josee2 Devlog
josee2
전체 방문자
오늘
어제
  • 분류 전체보기 (54)
    • Swift (33)
      • 문법 (33)
    • iOS (13)
    • Algorithm (3)
      • 프로그래머스 (1)
      • BOJ (0)
      • 기타 (2)
    • 일상 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 동기
  • 쓰레드
  • 스위프트
  • 동시큐
  • GCD
  • 서울청년취업사관학교
  • serial
  • IOS
  • Async
  • 직렬
  • Sync
  • concurrent
  • 비동기
  • 동시
  • 문자열 템플릿
  • Swift
  • 동시성프로그래밍
  • 프로세스
  • 멀티쓰레드
  • SeSAC

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
josee2

josee2 Devlog

iOS

@IBOutlet @IBAction에 대하여

2022. 6. 17. 13:11

 

스위프트에서 어플을 만들 때 변수나 상수 앞에 @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
    'iOS' 카테고리의 다른 글
    • [iOS] 컬렉션뷰(Collection View)
    • [iOS] TableViewController - Custom Table View Cell
    • [iOS] TableViewController - System Cell
    • [iOS] 생명주기 + AppDelegate & SceneDelegate
    josee2
    josee2
    iOS 개발자 지망생의 공부기록입니다.

    티스토리툴바