본문 바로가기
iOS/Swift

[iOS] @IBOutlet과 @IBAction

by 안녕주 2021. 10. 16.

화면 상 요소를 제어하기 위한 2가지 타입(Interface Builder Annotation)

@IBOutlet

  • 처리 결과를 View에 알리고 원하는 동작을 이끔
  • View에 존재하는 요소와 Controller를 연결하기 위한 변수

 

//사용 예시 
@IBOutlet weak var nameTextField: UITextField! 
@IBOutlet weak var nextBtn: UIButton!
  • @를 붙이는 이유 - 컴파일러에게 어떤 속성을 가지고 있다는 것을 전달하는 예약어다.
  • : UITextField!는 무엇일까 - UI 중에 어떤 항목을 가르키도록 설정할 것인가를 의미한다.
  • !는 무엇 일까 - Option중에 하나이다. Option은 !와 ?두가지가 있다. !은 변수 뒤에 붙여주면 nil(null)값이 들어갈리 없다고 확신할 때 사용해준다. 반면에 ?는 nil값이 포함될 수 있다는 의미로 사용한다.

 

@IBAction

  • 유저의 특정 이벤트를 감지해서 Controller에 알리는 역할
  • 특정 이벤트 발생시 실행될 동작들을 정의

 

//사용 예시 
@IBAction func touchUpToGoJoinView(_ sender: Any) {

}
  • 메서드 형식을 가진 IBAction은 void를 리턴타입으로 가지고 변수 값을 리턴하지 않는다.
  • 액션 메서드는 하나의 인자값을 갖고 이것은 sender라는 이름의 id타입으로 정의되어 포인터값이 전달된다.

'iOS > Swift' 카테고리의 다른 글

[iOS] WirdCard Pattern, 와일드카드 패턴  (1) 2021.11.14
[iOS]클로저 Closure  (0) 2021.11.07
[iOS] Protocol과 Delegate  (0) 2021.10.31
[iOS] Struct와 Class  (0) 2021.10.23
[iOS] Life Cycle  (0) 2021.10.16

댓글