selector: 셀렉터
objective-c에서 이름을 참조하는 타입이며,
swift에서는 objective-c의 selector를 selector 구조체로 나타낸다.
@objc는 왜 사용하나?
swift 코드에 붙여주면
objective-c에서 그 코드를 인식할 수 있도록 해줌
(그냥 사용하면 인식 불가)
보통 다음과 같이 addTarget을 쓸 때 selector, @objc를 사용한다.
private lazy var button2: UIButton = {
let button = UIButton()
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
return button
}
@objc func buttonTapped() { ... }
위에서 봤던 개념에 따르면 selector는 objective-c의 타입이기 때문에, swift의 함수를 selector에게 알려주려면
@objc를 붙여야 objective-c의 selector가 swift함수를 인식할 수 있기 때문에 붙여주는것
'PROGRAMMING CODE > SWIFT' 카테고리의 다른 글
[Xcode] Tuist 적용 연습 (1) | 2023.11.24 |
---|---|
[Xcode] Tuist 개념들 (0) | 2023.11.22 |
[UIkit] 애니메이션 추가 (1) | 2023.11.20 |
[UIkit] 'self' refers to the method 'ViewController.self', which may be unexpected (self 사용 시점) (0) | 2023.11.20 |
[Xcode] code snippet 자동완성 설정하기 (0) | 2023.11.19 |