일반적인 뷰에 터치 이벤트를 넣으려고 UITapGestureRecognizer를 검색하다가 selector에 대해 궁금한게 생겨 글 남깁니다.
notification center로 함수를 실행할때
NotificationCenter.default.addObserver(self, selector: #selector(myFunc), name: NSNotification.Name(rawValue: "~~~"), object: nil)
이런식으로 하고 함수 정의는
@objc func myFunc() { ~~~ }
이런식으로 하길래 #selector로 함수를 지정하려면 @objc를 해야만하는구나 라고 생각하고있었는데
탭제스쳐에 관한 내용을 검색하니 사람들이 올린 글마다 셀렉터가 다르게 생겼더라고요,
UITapGestureRecognizer(target:self, action: ??????)
이런 거에서 Selector("imageTapped:")
이런 거도 있고 #selector로 한거도있고 #selector() 도 있고,
함수도 @objc 있는거 없는거 종류별로 다 있어서 이거저거 경우의수 다 해봐도 계속 에러났습니다 ㅠㅠ
한참 돌아 답을 찾긴했는데
(제 경우에는 위에 노티피케이션센터 한거랑 똑같이한 게 에러가 안 납니다)
왜 다른 건 에러가 났는지, 이게 맞는 거긴 한지?
스위프트 옛날버전인거 같기도한데 검색했을 때 꽤 최근 글에도 다 다르게 적혀있어
뭐가 맞는지 궁금해 글 적습니다,