OCAndSwiftDemo iOS混编示例

OC 项目里的 Swift 模块,或者 Swift 工程里调 OC 代码,其实挺常见的,尤其是老项目里头。

这个资源叫OCAndSwiftDemo,它讲的就是OC 和 Swift 混编这事儿,挺实用的。你如果在搞 iOS 开发,多多少少都得碰上点这类情况。

桥接头文件是关键。加上ProjectName-Bridging-Header.h,Swift 才识别 OC 类和方法。OC 要用 Swift 东西?也能搞,不过得配合点技巧。比如你得把 Swift 类标上@objc,有时候还得加dynamic

配置方面,Xcode 里要注意Build Settings里加上-ObjC,是用了Category的时候,不然 Swift 压根找不到方法。多新手就卡这。

类型转换这块也得小心,Swift 的AnyObject基本能接 OC 的大部分对象。命名也要讲究点,OC 那套下划线风格在 Swift 里看着别扭,驼峰命名才和谐。协议啊、扩展啊,也都有各自坑,像 OC 里的Category方法想让 Swift 看到,就必须加@objc

混编的好处挺:旧代码不用全翻新,新模块还能用 Swift 写,性能、语法都舒服不少。但也别贪多,项目复杂度一高,后面维护可就麻烦了。慢慢迁移,稳一点才是王道。

你如果正打算改造旧项目,或者在搭一个新项目但又想复用以前写的 OC 代码,可以看看这个OCAndSwiftDemo示例项目。边看边试,效果还不错。

zip 文件大小:65.04KB