쥐수의 공부노트

인터페이스 빌더의 객체를 코드와 연결(IBAction , IBOutlet) 본문

ios 앱 프로그래밍 ( boost course )/1. 음원 재생기 애플리케이션

인터페이스 빌더의 객체를 코드와 연결(IBAction , IBOutlet)

쥐수 2022. 10. 7. 19:06
728x90

1. IBOutlet 과 IBAction 

IBAction은 말그대로 Interface Bulider Action 으로, 입력을 받았을 때, 그 입력에 따른 Action을 할 것인지를 나타낸다.

 

IBAction이 입력을 받았을 때, 데이터를 받아오는 것이다. IBAction과 IBOutlet 모두 앞에 @를 붙여 사용한다.

 

2. IBOutlet 과 IBAction 역할

 IBOutlet과 IBAction 의 역할은 StoryBoard와의 연결고리를 담당한다.

변수나 함수를 정의할 때 앞에 @IBAction 또는 @IBOutlet 키워드를 통해 StoryBoard에서 버튼이나 레이블같은 컴포넌트와 연결이 가능하다.

 

3. IBOutlet 사용

XCode에서 @IBOutlet 사용

playPauseButton 이라는 변수에 @IBOutlet을 붙여 UI와 연결하여 사용하겠다는 코드다.

playPauseButton의 타입은 UIButton 이다.

 

3-1. UIButton 타입을 가지게 되는데 , 뒤에 ! 가 붙는 이유

playPauseButton의 값이 nil일 수도 , nil이 아닐 수도 있다. 이를 swift에서는 Optional 이라고 칭한다.

하지만 우리는 playPauseButton에 UIButton을 연결하기 때문에, 값이 있다는 것을 알고 있다.

그래서 !를 붙여, 'playPauseButton의 값이 nil이 아니다!' 라는 것을 XCode에 알려주게 된다.

만일 !가 아닌 ?를 입력하게 되면, playPauseButton에 nil 값이 들어갈 수도 있다는 것을 알려준다.

 

4. IBAction 사용

 

XCode에서 IBAction 사용

touchUpPlayPauseButton 함수에 @IBAction을 붙인 것이다.

touchUpPlayPauseButton과 연결되어 있는 버튼을 클릭하게 되면, 밑 코드를 실행하겠다는 뜻으로, 버튼의 입력에 의해 위 코드가 실행된다.

 

 

728x90

'ios 앱 프로그래밍 ( boost course ) > 1. 음원 재생기 애플리케이션' 카테고리의 다른 글

UIKit  (0) 2022.10.09
AVAudioPlayer 적용  (0) 2022.10.09
AVFoundation  (2) 2022.10.07
UIButton, UILabel, UISlider  (0) 2022.10.07
에셋 카탈로그  (0) 2022.10.07