OC与Swift混编

1、 swift调用oc
将 Objective-C 导入 Swift
要在同一个 app target 中导入 Objective-C 文件供 Swift 使用,你需要依赖 Objective-C的
桥接头文件(Objective-C bridging header)来暴露给 Swift。当你添加 Swift 文件到现有
的 Objective-C 应用时,Xcode 会自动创建这些头文件,反之亦然。

20140713211330218.png.png

如果你同意,Xcode 会在源文件创建的同时生成头文件,并用 product 的模块名加上
-Bridging-Header.h 命名。

在 Build Settings 中,确保 Objective-C 桥接头文件的 build setting 是基于 Swfit 编译器,
即 Code Generation 含有头文件的路径。这个路径必须是头文件自身的路径,而不是它所
在的目录。


20140713211629986.png.png

然后在桥接头文件中,加入oc的头文件,在swift中即可引用oc的类
2、 oc调用swift
1、确保将框架 target 的 Build Settings > Packaging > Defines Module 设置为 Yes
2、在修改在 build setting 中的 Product Module Name 即可。
之后的项目会自动生成swift的头文件,头文件名称为Product Module Name-Swift.h
所有的swift都会在这个头文件里

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面: Swift 代码访问 Objective-C 代码,或者反之。导入外部框架时,请先确保 TARGET...
    三分慢先森阅读 1,092评论 0 3
  • swift强势来袭,想要紧跟脚步,但之前OC的工程推倒重来在时间和实践上都有点伤神,混编就是这个过渡的桥梁,使...
    _skye阅读 5,275评论 8 22
  • 感谢微博网友提醒,他说,心理学过分纠结于文字,钻入死胡同,千万小心!当时还没有什么深刻感受,近日在学马克思,...
    钱宝阅读 334评论 0 1
  • 现实就在你眼前,你却喜欢假设。
    周三临阅读 140评论 0 0