详解swift和OC以及C语言的混编(不看后悔!)

本文详细介绍了如何在Swift工程中实现Swift、Objective-C(OC)和C语言的混编,包括Swift调用OC方法、Swift调用C函数、OC调用Swift函数以及OC调用C函数的步骤。重点讨论了桥接头文件的创建和配置,以及不同语言间相互调用的注意事项,帮助开发者更好地理解和应用混编技术。
摘要由CSDN通过智能技术生成

前言: 

       Swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,或者有一些第三方使用OC写的,没有swift版本,怎么办?那就使用混编。这个在IOS8后是允许的.

       先简单的入手,先研究在同一个工程目录下混合使用的情况.这里主要介绍swift类中调用OC方法和swift类中调用C函数以及OC类中调用swift的函数这三种类型的混编.另外,小编也是边研究边尝试才做出结果的,因此命名并非规范命名,大家就不要纠结命名问题了.小编这里使用swift创建的工程,工程名为SwiftTest.(其实用OC创建工程也大同小异)


准备内容:


1.创建swift工程,工程名SwiftTest

2.创建一个swift的类

3.创建一个OC的类

4.创建两个C语言的类(一个包含头文件,另一个不包含头文件)

创建结果如下图:




接下来,先说一下,创建过程中的情况:


1.创建swift类,可以用快捷键 command+n


创建swift类的时候有两种方式,如下图




注意:选绿框中这两个地方都可以创建swift类,语言选Swift,然后注意,一定要继承于NSObject,这个非常重要,否则在OC中不做修改调不到这个类的方法,就比较麻烦了,还是一步到位,继承NSObject吧.另外还要注意红框的位置,创建时一定要手动选择红框中这一项(iOS的Source),别用默认的,默认的是(OS X 的Source),后边会讲为什么.




然后创建成功就是这样的了




这个是选择iOS 的 Source ,然后用Cocoa Touch Class 创建的,如果是用Swift File 创建的类,那上面图片的绿框中就是 import  Foundation 了,这个还好,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值