知识卡片
桥接头文件让两种语言互相看见对方
内容
在同一个工程里混用Swift和Objective-C,靠两份不同方向的自动生成头文件打通:一份是开发者手写的”桥接头文件”(Bridging Header),在里面#import想暴露给Swift用的Objective-C类头文件,Swift代码就能直接使用这些Objective-C类型;另一份是编译器自动生成的ProductModuleName-Swift.h,Objective-C文件#import它就能看到项目里所有标记为public/open或默认可见性的Swift类型。这套机制本质是给两种类型系统、两种运行时搭一座翻译桥,而不是让两门语言在同一份源码里无缝合并——每一次跨语言调用都要经过头文件这层显式声明的接口,不存在”直接调用对方内部实现”的暗道。
参考来源
《Swift编程权威指南》第28章《互操作》