# 셀렉터(Selector) - 함수를 직접 지정하는 기능을 가진 일종의 함수 선택자
Selector는 본래 Objecive-C에서 클래스 메소드의 이름을 가르키는 데 사용되는 참조 타입입니다.
동적 호출 등의 목적으로 @selector() 어트리뷰트 메소드 이름을 인자값으로 넣어 전달하면 이를 내부적으로 정수값으로 매핑해서 처리하는 형태입니다. 이것이 Swift로 넘어오면서 구조체 형식으로 정의되고, #selector()구문을 사용하여 해당 타입의 값을 생성할 수 있게 되었습니다.
Swift4부터는 Selector 타입으로 전달할 메소드를 작성할 때 반드시 @objc 어트리뷰트를 붙여주어야 합니다. 이는 Objective-C와의 호환성을 위한 것으로, Swift에서 정의한 메소드를 Objective-C에서도 인식할 수 있게 해 줍니다.
참고 : 꼼꼼한 재은씨의 스위프트 실전편
잘못된 부분 있으면 댓글 달아주세요.
'iOS' 카테고리의 다른 글
[iOS] H.I.G(Human Interface Guidelines)란? (0) | 2018.05.21 |
---|---|
[iOS] Foundation이란? (0) | 2018.05.04 |
[iOS] CocoaPods이란 (0) | 2018.04.30 |
[iOS] info.plist - App Transport Security이란 (0) | 2018.04.29 |
[iOS] 콘텐츠 뷰 컨트롤러, 컨테이너 뷰 컨트롤러 (0) | 2018.04.26 |