Swifter {Swift Developer}

메뉴

Xcode8에서 스토리보드에서 Action을 연결할 수 없는 경우 처리 방법

Xcode8에서도 이전처럼 하듯이 control키를 누른 상태에서 UIButton등 Action을 연결하면 도구마음대로 xxxWithSender와 같은 이름과 연결이 되어 실제 실행을 하다보면 unrecognized selector라는 오류가 발생한다. 또한 onClickWithSender라는 메소드를 작성해서 연결하면 WithSenderSender라고 만들어진다.

이 문제는 Xcode8에서 Use Legacy Swift Language Version이 YES로 되어 있는 경우 발생하는 것으로 파악되었다. 보통 SWIFT_VERSION = 2.3으로 지정된 경우에 발생한다. 해결 방법은 스토리보드 화면에서 마우스 오른쪽 버튼을 눌러 나오는 이벤트 목록화면에서 필요한 이벤트를 선택하고 드래그하여 연결할 수 있다.

xcode8-10

버튼인 경우 [Touch Up Inside]를 선택하고 소스코드쪽으로 드래하면 Action명을 입력한다.

xcode8-11

물론 이것도 불안하다면 .addTarget을 하면 좋을 것으로 생각된다.

Facebook Comments

카테고리:   Swift 3.0, Xcode

댓글

죄송하지만 댓글은 닫혀 있습니다.