OC与Swift混合开发技巧
2015-03-29 09:56
274 查看
在苹果推出了swift语言之后,很多人担心OC很快会被取代,但是苹果方面表示2年内不会摒弃OC。但现在也快了啊。有的开发团队已经开始基于swift开发,但是有很多旧的框架还没来得及用swift写出来,并且某些swift的功能你还不会写,想用OC写。因此在swift开发的程序中时不时会用到OC的类,怎么让两门语言在一个程序里无缝衔接? 其实很方便
如图这是一个新建的swift项目,里面直接拖入了一个SVProgressHUD框架
因为swift语言里,同一个项目内的文件基本会放在同一个命名空间下,所以用项目中某类的方法都是不用导入头文件的,这的确很方便。
但是拖入了OC框架后想用OC框架里的方法时,你导入框架的头文件到ViewController.swift 会报错的,这就不截图了。
解决方案是 新建一个Header File文件
如图建好之后,在这个文件里导入框架。
接下来,到项目部署里引用此文件
模仿图中的路径,就是这个项目的文件夹下的Head File文件
cmd+B 变异一下 如果success就说明到这你都没有写错。
然后在ViewController.swift文件里,用swift的格式来调用这个方法
比如写一个点击方法(切记不用导入头文件!只需要直接写这个方法)
运行后点击一下
到此就完成了OC与swift之间的桥接。HUD指示器框架已经和swift项目无缝衔接。 后续如果还有别的OC类 那就把头文件导入到这个 Demo-Bridge.h文件里,就能在项目的其他地方用swift的语法(也就是点语法)调用了。 这里要切记。1.不要用OC语法调用。 2.不要在swift后缀的文件里导入任何头文件。
当然这篇文章用到的环境是最新的XCode6.3 beta2. 模拟器和SDK都是iOS8.3。 如果低版本的Xcode在桥接时遇到种种问题,请升级或下载到最新版本开发,因为swift语言每个版本还有微调的。
如图这是一个新建的swift项目,里面直接拖入了一个SVProgressHUD框架
因为swift语言里,同一个项目内的文件基本会放在同一个命名空间下,所以用项目中某类的方法都是不用导入头文件的,这的确很方便。
但是拖入了OC框架后想用OC框架里的方法时,你导入框架的头文件到ViewController.swift 会报错的,这就不截图了。
解决方案是 新建一个Header File文件
如图建好之后,在这个文件里导入框架。
接下来,到项目部署里引用此文件
模仿图中的路径,就是这个项目的文件夹下的Head File文件
cmd+B 变异一下 如果success就说明到这你都没有写错。
然后在ViewController.swift文件里,用swift的格式来调用这个方法
比如写一个点击方法(切记不用导入头文件!只需要直接写这个方法)
运行后点击一下
到此就完成了OC与swift之间的桥接。HUD指示器框架已经和swift项目无缝衔接。 后续如果还有别的OC类 那就把头文件导入到这个 Demo-Bridge.h文件里,就能在项目的其他地方用swift的语法(也就是点语法)调用了。 这里要切记。1.不要用OC语法调用。 2.不要在swift后缀的文件里导入任何头文件。
当然这篇文章用到的环境是最新的XCode6.3 beta2. 模拟器和SDK都是iOS8.3。 如果低版本的Xcode在桥接时遇到种种问题,请升级或下载到最新版本开发,因为swift语言每个版本还有微调的。
相关文章推荐
- Swift资源包---OC和swift混合开发
- iOS开发——Swift和OC混合开发
- OC 与Swift混合开发之相互调用
- OC与Swift混合开发(混编)图文教程
- ios开发之oc与Swift混合编程OC进入Swift的类 以及Swift进入OC的方法-附带一个属性传值
- 怎么让一个项目里swift与OC可以兼容混合开发?
- Swift与OC的混合开发的配置
- 怎么让一个项目里swift与OC可以兼容混合开发?
- OC和Swift混合开发需要做的准备
- Swift开发必备技巧:static和class的使用
- 黑马程序员-iOS基础-Objective-C基础(四)OC开发技巧及核心语法(上)
- 盘点一些iOS开发技巧:Swift和Objective-C
- Swift开发必备技巧:static和class的使用
- iOS开发 项目中Swift与OC混编
- Swift开发过程中常用到的一些使用技巧和注意的地方
- swift 和 OC 混合编译的问题
- IOS-29-Hybrid混合开发(一):OC调用JS的方法的使用:stringByEvaluatingJavaScriptFromString
- 关于c,c++,oc,swift的混合编程
- 关于混合开发,oc与js互相通信的方法总结
- Swift开发必备技巧:static和class的使用