본문 바로가기
Swift

[Swift] Selector

by Sky Titan 2021. 4. 22.
728x90

※출처 - 꼼꼼한 재은씨의 Swift: 실전편

 

싸니까 믿으니까 인터파크도서

제대로 스위프트를 즐기는 방법 이 책은 전반적으로 하나의 메인 프로젝트를 완성해나가는 동시에 각 주제별로 소규모 앱을 만들면서 기능을 익히도록 구성되어 있습니다. 따라서 특정 주제나

book.interpark.com

Selector

  • objective-C에서 클래스 메소드의 이름을 가리키는 데 사용되는 참조 타입
  • Swift로 넘어오면서 구조체 형식으로 정의됨
  • #selector() 구문을 사용하여 해당 타입의 값 생성 가능
  • objective-C와의 호환성을 위해서 Selector 타입으로 전달한 메서드는 반드시 @objc 어트리뷰트 붙여야함.
  • addTarget 등의 함수에서 많이 사용됨
import Foundation

class A {

    @objc func execute(_ sender: Any) {
        print("exeucted")
    }
}

let sel = #selector(A.execute) //exec를 기본 이름으로 갖는 다른 함수가 없기에 'execute'만으로도 구분 가능
let sel = #selector(A.execute(_:))

 

728x90

댓글