Mix Swift and C++
Mix Swift and C++
Mix Swift and C++ - WWDC23 - Videos - Apple Developer
Basic of interoperability
ex) 포토 앱
image processing framework가 c++로 구성되어있음
- bridging header 필요 없음
- build setting에서 c, objective c mode에서 c++로 변경
- swift file에 들어가서 import 하면 됨
objective c에서 swift를 모두 가져오려면 #import “SampleApp.h”이렇게만 해도 됨
⇒ 즉 bidirectional interoperability가 가능한 거임!
swift는 standard c++을 가져올 수 있음
swift에서 c++을 이해할 수 있는 것들
c++에서 Swit를 이해할 수 있는 것들
Natural swift APIs
c++에서 swift로 맵핑됨
annotation
- c++는 기존적으로 value type으로 import됨
- c++ vector을 collection으로 변환시키기에 for문 사용 가능!
- c++은 reference type이 없다보니까 default는 value type이지만 custom으로 reference type을 이용
c++에서 swift reference type을 쓰고 싶다면 #import <swift/bridging>
을 한 후에 struct 앞에 SWIFT_SHARED_REFERENCE를 넣어주면 됨
- SWIFT_COMPUTED_PROPERTY라는 애도 있는데 이걸로 쉽게 getter, setter를 쓸 수 있대
이거 말고도 많으니까 찾아보래!
무조건 이렇게 해줘야 함!!