objective-c和swift相互调用
自从苹果推出swift语言,已经过去好几个版本了,现在是时候考虑使用swift语言了。
在objective-c和swift相互调用的过程中,有一个很重要的文件,名称为<ProjectName>-Bridging-Header.h,假设我们的项目名称为 Laodaoxia,那么对应的文件名就是 Laodaoxia-Bridging-Header.h。这个文件第一次是由XCode自动生成的,这个文件负责完成2种不同的语言之间的转换。
现阶段,很多项目都是由objective-c创建的,当为他们添加新功能时,可以使用swift来编写。衣服自己洗先来说下如何添加swift支持。我们在项目中添加由swift文件,如果是第一次添加swift的话,IDE会提示你是否要创建桥接文件,点击是。此时,项目中会新增2个文件,一个是swift文件,一个是桥接文件。如果不小心删除了桥接文件,也可以手动创建一个,只要名称是符合上面的规定即可。
然后在swift文件中该怎么写代码就怎么写代码好了。对于 objective-c 文件,如果要调用swfit方法,则在对应的m文件里添加引用,#import “Laodaoxia-Swift.h”,剩下的就可以按照普通的 objective-c 的语法来调用swift 的方法了。<ProjectName>-Swift.h 文件应该是一个隐藏的文件,XCode负责把项目中的swift文件类通过该文件来提供给objective-c文件调用。
至于swift项目,要添加objective-c代码,例如很多通用库等等,也是差不多的步骤。项目中添加objective-c的类,第一次添加时,IDE会询问是否要添加桥接文件,同意添加后,项目中会新增对应的h文件,m文件和桥接文件。把swift会用到的objective-c类的头文件,全部使用#import假如到桥接文件里。
添加完成后,即可在swift代码里使用swift语法格式来使用objective-c提供的方法了。