[Project Name]-Swift.h라는 헤더 파일을 생성해 이를 인터페이스로 삼아 스위프트 코드에 접근합니다. 다만 모든 스위프트 코드를 Objective-C에서 사용할 수 있는 것은 아닙니다. 스위프트에서만 가능한 타입들은 사용이 배제됩니다. 호환이 안되는 type의 인자가 들어가 있는 메소드는 bridge header에 생성되지 않습니다. 

따라서 Objective-C에서 사용 가능한 Swift 코드를 만들기 위해선 스위프트 타입 호환성을 잘 고려해서 코딩해야 합니다. 다음 문서는 스위프트 타입 호환성에 대해 상세히 기술하고 있습니다. 


옵셔널
객체만 옵셔널로 사용 가능합니다. 메소드 인자에 옵셔널이 있는 경우 이를 nullable로 바꾼다고 나와 있지만 이는 객체에만 해당합니다. 옵셔널의 태생 자체가 nullable의 범위를 primitive type과 enum type 등으로 넓히기 위해 태어난 것이기 때문입니다.

프로토콜
프로토콜에 @objc를 붙여서 선언해야만 사용할 수 있습니다.

enum
enum type이 Int가 아닐 경우 사용할 수 없습니다.

기타 사항은 문서 참조

'Tech > iOS' 카테고리의 다른 글

[Swift] Class와 Struct 중에 뭘 쓸까?  (0) 2016.10.28
@noscape, @autoclosure  (0) 2016.10.24
optional을 쉽게 설명해보자  (0) 2016.05.17
Hashable Protocol  (0) 2016.02.28

+ Recent posts