최근 Objc로 프로그래밍된 프로젝트를 Swift로 바꿀 기회가 생겼다.
Objc문법을 알지는 못하지만 어느정도 눈에 익어 Swift로 바꾸는데
문제는 이 둘의 코드를 같이 Run하는것 이었다.
# Objc와 Swift코드를 같이 사용하기
1. Swift에서 Objc코드 사용하기
Swift에서 Objc코드를 사용하려면 Bridging-Header가 필요하다.
이는 Objc파일을 만들때 자동으로 만들어 주기도 하는데
실수해서 안 만들었을 경우,
'ProjectName-Bridging-Header.h'로 만들어 주면 된다.
이제 이 파일에 Objc클래스의 Header파일 (ex. ViewController.h)를 import해주면
Swift에서 사용이 가능하다 :)
Build Setting에서도 이렇게 확인이 가능하다.
혹시 비어있다면 경로를 잘 넣어주면 된다.
2. Objc에서 Swift코드 사용하기
먼저, Build Setting에서 Define Modules -> YES
Swift Language Version -> 4.2 로 맞춰준다.
그리고 평소와 같이 Swift코드를 작성한 다음
이 Swift 코드를 사용할 Objc파일에서
#import "ProjectName-Swift.h" 를 해주면 끝!
이 header파일은 자동으로 생성되며, 첫 사진을 잘보면 이미 생성된것을 알 수 있다 :)
Objc를 Swift로 바꾸는 작업은 처음이지만 나름 재밌고 신선하다.
옛날에 어떻게 이렇게 코딩했지... 라는 생각도 들고
생각치 못한 상황에 생각치 못한 지식을 얻고 간다 :)
Reference
아직 모르는 것이 많고 알아가는 과정입니다.
잘못된 것이 있다면 댓글로 남겨주신다면 감사하겠습니다! 😊
'Swift' 카테고리의 다른 글
Literal Initializer 만들기 (0) | 2019.05.20 |
---|---|
flatMap() 정리하기. map(), compactMap() 과의 차이 (0) | 2019.04.18 |
Swinject로 DI(Dependency Injection)패턴 적용하기 (1) | 2019.04.11 |
UINavigationController를 코드로 구현해보자. (0) | 2019.01.31 |