언제나 헷갈리는 delegate 패턴이다.
audioPlayer.delegate = self
viewController는 AVAudioPlayerDelegate, AVAudioRecorderDelegate라는 프로토콜을 상속받는다.
상속받을 때, 이 두 프로토콜의 필수 메소드를 정의해주어야 한다.
근데
audioPlayer.delegate = self
audioRecorder.delegate = self는??
var audioPlayer: AVAudioPlayer!
var audioRecorder: AVAudioRecorder! 이렇기 때문에
내가 이해한 바로는 viewController에게 AVAudioPlayer에서 일어난 이벤트에 관련된 일을 하라는 것이다. 즉, 뷰컨 안에 저기 프로토콜의 메소드를 정의했으니, .delegate = self는 뷰컨 클래스 안에 정의된 메소드를 실행하라 는 뜻인것같다. 저게 없으면, 실행되지 않는다. 왜냐면 위임자를 viewcontroller라고 정해주지 않았기 때문에 모르지 않을까 싶다!
[iOS] 음악재생, 녹음하는앱(4) - 재생시간표시, 녹음파일 형성 (0) | 2021.02.11 |
---|---|
[iOS] 음악재생, 녹음하는앱(3) - 재생시간 (0) | 2021.02.11 |
[iOS] 음악재생, 녹음하는 앱(1) (0) | 2021.02.10 |
[Swift] View의 생애주기2 (0) | 2021.02.08 |
[Swift] View Controller의 생명주기 (0) | 2021.02.08 |
댓글 영역