当前位置: 首页 > 科技观察

SwiftforiOS开发调用Objective-C代码

时间:2023-03-17 12:43:32 科技观察

最近,iOS开发新的编程语言Swift在iOS开发圈受到了很大的关注,国内外的教程或小例子很多。虽然Swift语言还在不断发展,变化也比较大,而且苹果也不承诺现在写的代码以后会兼容,但依然挡不住iOS开发者的热情。为什么要用Swift调用Objective-C代码目前,用Swift语言编写的应用只能使用Xcode6GM版提交,而Objective-C作为Apple的主要开发语言已经存在多年。目前还没有成熟的Swift库可用,所以现在的应用程序的编写可以说基本离不开调用Objective-C代码的情况。如何调用Objective-C代码目前Apple给出的解决方案是使用一个Bridging-Header头文件来引用要使用的Objective-C代码的头文件。Xcode自动生成的头文件名形式会是工程名-Bridging-Header.h的形式。但是,这种文件名格式不是强制性的,您可以自由定义。Xcode自动生成方案新建一个Swift工程,不会自动生成调用Objective-C的头文件。但是,您可以在项目中创建一个新的Objective-C文件。这时Xcode会提示你是否生成相应的头文件来进行Swift调用。如果选择Yes,此时会自动生成一个上述格式的头文件。您可以删除新创建的空Objective-C文件,只保留这个头文件。在这个桥接头文件中填写后面要调用的Objective-C文件或库的头文件。如果在上一步中选择取消自定义scheme,则后续创建Objective-C文件时不会有任何提示。或者您想自定义一个文件名,而不是使用Xcode生成的文件名。选择新建一个Header文件,文件名任意。比如Hello.h之后,在项目-TARGETS中,找到SwiftCompiler-CodeGeneration这一项,这里有一项,它的key是Objective-CBridgingHeader,在它的value里填入你的头文件信息就可以了。1、可以将对应的头文件拖入输入框,填入值2、手动将头文件的路径填入输入框,如:Hello/Hello.h这样,就可以使用相应的头文件来引用Object-C代码了。原文来自:http://my.oschina.net/dmdgeeker/blog/318356