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

2016-10-17
8 Views

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

You may be interested

Xcode 기능 확장(Extension) 제거하기
Xcode
shares3 views
Xcode
shares3 views

Xcode 기능 확장(Extension) 제거하기

MJ Kim - 3월 18, 2017

Mac에서 Xcode Source Editor Extension등의 기능확장을 사용하다보면 디버깅시 시스템 환경 설정의 확장이 앱에 등록되는 경우가 있다. 계속해서 목록이 남아 있기…

iOS App Store Review(앱 심사약관) 번역
Swift 3.0
shares112 views
Swift 3.0
shares112 views

iOS App Store Review(앱 심사약관) 번역

MJ Kim - 3월 15, 2017

App Store Review를 번역했다. 사실 이번에 좀 애매한 리젝을 당해서 그걸 이해하고자 정리해본다. 원문링크: https://developer.apple.com/app-store/review/guidelines/ 1. 이약관은? 1.1 앱 개발자로서 프로그램의…

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi
IoT by Raspberry Pi
shares9 views
IoT by Raspberry Pi
shares9 views

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi

MJ Kim - 3월 04, 2017

RPi1114-Raspberry Pi전원제어 모듈이 있다. 이 제품은 40Pin GPIO핀헤더에 연결하여 사용하는 모듈로 Cortax-M0마이크로컨트롤러 LPC1114를 내장하고 Raspberry Pi의 시작과 정지 순서등을 프로그래밍할…