[iOS 정면돌파] 03. Interface Builder

H43RO·2021년 8월 13일
1

iOS 정면돌파

목록 보기
3/5
post-thumbnail

이전 포스팅에서 프로그래매틱하게 Navigation Controller 를 조작하는 방법을 다루던 중, 버튼이나 콜백 리스너를 연결하는 데 변수명과 메소드명에 @IBOutlet, @IBAction 등의 어노테이션이 붙어있어 궁금해졌다. 따라서 이와 관련하여 조금 더 공부해보았다.

IB 가 뭐야?

Interface Builder (UI 컴포넌트와 연결하는 하나의 인터페이스)

@IBOutlet 어노테이션

공식문서가 설명하는 @IBOutlet 어노테이션

To enable your code to send messages to a user interface object, add a connection from the user interface object to a special property in your class called an outlet.

→ 다른 객체를 참조하는 객체의 속성 ex) @IBOutlet var button: UIButton!
→ 해당 어노테이션이 붙어있으면, 인터페이스 빌더 객체라고 부름
→ ViewController 처럼 UI 와 연결된 Class 에서 UI 객체를 참조할 수 있도록 함
→ 안드로이드의 findViewById() 개념과 유사

적용 방법 (2가지)

  1. 코드로 먼저 IBAction 을 생성한 후, 인터페이스 빌더의 Outlet Inspector 를 통해 연결
  2. 코드로 먼저 IBAction 을 생성한 후 인터페이스 빌더에서 View Controller 우클릭 후 팝업에서 연결

@IBAction 어노테이션

→ UI 컴포넌트가 감지하는 Action 에 의해 실행되는 동작 정의
→ 특정 Action 을 연결하여 해당 Action 발생 시 어떤 동작을 할지 작성할 수 있음
→ 안드로이드의 콜백 리스너 개념과 유사 ex) View.OnClickListener


이제야 궁금증이 풀렸다!

profile
어려울수록 기본에 미치고 열광하라

0개의 댓글