뷰에서 이벤트가 발생되었을 때 호출되는 함수로 버튼, 피커 등 뷰객체에서 특정 이벤트가 발생했을 때 실행되게 된다. sender는 이벤트를 보내는 뷰 객체에 해당한다.
뷰에서 입력 / 변화를 감지하고 이를 뷰 컨트롤러에 전달한다. 뷰 컨트롤러는 @IBAction에서 해당하는 작업을 실행한다.
한 버튼에 다양한 @IBAction 연결하는 것도 가능하다.
addTarget함수를 활용하면 코드로도 연결 가능하다. 같은 제스처가 @IBAction, addTarget로 둘 다 연결되었을 경우, @IBAction, addTarget 순으로 실행된다.
Event 종류 : https://developer.apple.com/documentation/uikit/uicontrol/event
Outlet이란 다른 객체를 참조하는 어떤 객체의 참조이며 nib파일이 열리는 때마다 포함된 객체, 연결된 outlet(참조)가 재생성된다.
모든 것을 @IBOutlet으로 연결할 필요는 없고, 값이 변경되는 경우에 연결한다. 객체의 속성을 제어하기 위해 자주 사용된다.
객체가 가지는 IBOutlet이 많을수록 메모리에서 차지하는 양은 늘어나므로, 줄일 수 있는 별도의 방법을 활용해야한다.(matrix의 인덱스 등)
회원가입 화면에서 비밀번호를 입력하는 경우 규칙을 어기는 형식을 입력했을 때가 있다. 이때 뷰에 옳지 않은 형식을 입력했다는 라벨을 띄울 수 있을 것 같다.
출처
https://developer.apple.com/library/archive/documentation/General/Conceptual/CocoaEncyclopedia/Outlets/Outlets.html
https://velog.io/@myeongs07/iOS-IBOutlet-IBAction