[iOS开发]Swift调用Objective-C代码
2014-09-25 00:38
453 查看
本文写于2014.09.25
最近iOS开发之新编程语言Swift在iOS开发圈内反响比较大,国内外都有很多教程或小示例。
虽然Swift这门语言仍然在不断的进化之中,而且变动还是比较大,苹果公司也不承诺目前所写代码会在将来兼容,但仍挡不住iOS开发者的热情。
把你后续想调用的Objective-C文件或库的头文件填写在这个桥接头文件里即可。
选择新建一个Header文件,文件名随意。例如,可以是Hello.h
之后,在项目—TARGETS这里,找到Swift Compiler - Code Generation这一项,这里有一项,其键是Objective-C Bridging Header,在其值的地方,填入你的头文件信息即可。
这样,你就可以使用相应的头文件来引用Object-C的代码了。
最近iOS开发之新编程语言Swift在iOS开发圈内反响比较大,国内外都有很多教程或小示例。
虽然Swift这门语言仍然在不断的进化之中,而且变动还是比较大,苹果公司也不承诺目前所写代码会在将来兼容,但仍挡不住iOS开发者的热情。
为什么要使用Swift调用Objective-C代码
目前Swift语言所编写的应用才刚刚可以使用Xcode 6 GM版本提交,而Objective-C作为苹果的主开发语言存在了很多年了。目前尚无成熟的Swift库可用,所以当前编写应用可以说基本离不开调用Objective-C代码的情况。如何去调用Objective-C代码
目前苹果给出的解决方案是使用一个Bridging-Header头文件,将所要使用的Objective-C代码的头文件引用进来。其中Xcode自动生成的头文件名形式会是以项目名-Bridging-Header.h这样的形式。但是,这个文件名格式并不是必须的,你可以自由定义。Xcode自动生成方案
新建一个Swift项目,是不会自动生成调用Objective-C的头文件的。但是,可以在项目中,新建一个Objective-C的文件,这时候,Xcode会提示你,是否生成一个相应的头文件来使Swift调用。选择是,这时候就是自动生成一个上面所说格式的头文件。你可以把新建的空Objective-C文件删除,只保留这个头文件。把你后续想调用的Objective-C文件或库的头文件填写在这个桥接头文件里即可。
自定义方案
如果你在上一步选择取消了,那么后续新建Objective-C文件也不会再有提示。或者你想自定义一个文件名,而不使用Xcode生成的文件名。选择新建一个Header文件,文件名随意。例如,可以是Hello.h
之后,在项目—TARGETS这里,找到Swift Compiler - Code Generation这一项,这里有一项,其键是Objective-C Bridging Header,在其值的地方,填入你的头文件信息即可。
1. 可以将相应头文件拖到填值的输入框中 2. 手动填写头文件路径到输入框中,如: Hello/Hello.h
这样,你就可以使用相应的头文件来引用Object-C的代码了。
相关文章推荐
- iOS开发笔记--OC工程中调用不了Swift代码
- iOS应用开发入门指南 - 编写 Objective-C 代码
- iOS应用开发最佳实践系列一:编写高质量的Objective-C代码
- iOS应用开发入门指南 - 编写 Objective-C 代码
- Swift 调用 Objective-C代码 1)
- iOS应用开发最佳实践:编写高质量的Objective-C代码
- 【iOS-cocos2d-X 游戏开发之十三】详细讲解在Xcode中利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!
- iOS应用开发最佳实践:编写高质量的Objective-C代码
- iOS应用开发最佳实践:编写高质量的Objective-C代码
- iOS应用开发最佳实践:编写高质量的Objective-C代码
- 使用Swift开发iOS项目、UI创建、方法调用
- 【iOS-cocos2d-X 游戏开发之十三】详细讲解在Xcode中利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!
- iOS应用开发最佳实践:编写高质量的Objective-C代码
- iOS开发:最简单的objective-c 代码
- 【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(上)
- iOS应用开发最佳实践系列一:编写高质量的Objective-C代码
- iOS应用开发最佳实践:编写高质量的Objective-C代码
- iOS应用开发最佳实践:编写高质量的Objective-C代码
- iOS应用开发最佳实践系列一:编写高质量的Objective-C代码
- 【C#开发iOS】Objective-C与C# with Xamarin的开发代码对比