Swift and Objective-C in the Same Project
在项目里交叉使用Swift和OC
Swift与OC的兼容性使得你能够在项目里使用Swift+OC的方式编写应用程序,称为混合+匹配(mix and match),用这样的方式能够一边使用享受新语言的高速特性,一边无缝的接合你已有的OC代码(原文听起来好NB的样子,事实上也就那么回事),无论项目最初是用OC编写的还是新建的Swift项目,都能够在这个项目里用OC和Swift混合继续开发
Importing Objective-C into Swift
在Swfit代码中加入OC文件的时候,须要依赖一个bridging header文件,Xcode会在你新建一个OC文件的时候自己主动帮你创建(项目是使用Swift语言创建的),点击yes,Xocde就会在新建OC文件的同一时候帮我们新建一个 xxx-Bridging-Header.h 文件,xxx是你的项目名称(Product Module),然后我们得编辑这个文件才干让Swfit代码调用OC代码
在项目的xxx-Bridging-Header.h文件中,加入须要在Swift里调用的OC文件,然后就能够在Swfit代码中调用了
OBJECTIVE-C
SWIFT
在项目的 Build Settings 选项里,要确保Swift Compiler选项里有这个Bridging Header文件的设置,路径必须指向文件本身,而不是文件夹。
以上归纳为一个表
在项目里交叉使用Swift和OC
Swift与OC的兼容性使得你能够在项目里使用Swift+OC的方式编写应用程序,称为混合+匹配(mix and match),用这样的方式能够一边使用享受新语言的高速特性,一边无缝的接合你已有的OC代码(原文听起来好NB的样子,事实上也就那么回事),无论项目最初是用OC编写的还是新建的Swift项目,都能够在这个项目里用OC和Swift混合继续开发
Importing Objective-C into Swift
在Swfit代码中加入OC文件的时候,须要依赖一个bridging header文件,Xcode会在你新建一个OC文件的时候自己主动帮你创建(项目是使用Swift语言创建的),点击yes,Xocde就会在新建OC文件的同一时候帮我们新建一个 xxx-Bridging-Header.h 文件,xxx是你的项目名称(Product Module),然后我们得编辑这个文件才干让Swfit代码调用OC代码
在项目的xxx-Bridging-Header.h文件中,加入须要在Swift里调用的OC文件,然后就能够在Swfit代码中调用了
OBJECTIVE-C
#import "XYZCustomCell.h" #import "XYZCustomView.h" #import "XYZCustomViewController.h"
SWIFT
let myCell = XYZCustomCell() myCell.subtitle = "A custom cell"
在项目的 Build Settings 选项里,要确保Swift Compiler选项里有这个Bridging Header文件的设置,路径必须指向文件本身,而不是文件夹。
Importing Swift into Objective-C
当在OC里调用Swift中的代码时,须要依赖一个xcode自己主动生成的头文件,这个自己主动生成的头文件定义了项目中全部的Swift文件,这个头文件的命名为 “xxx-Swift.h” ,xxx为项目的名称,此外就不须要再做不论什么事情了,你仅仅须要在OC代码里导入这么一个文件,就能够跟没事一样拿随意一个Swift中的代码用了#import “ProductModuleName-Swift.h”
以上归纳为一个表
调用Swift代码 | 调用OC代码 | |
Swift代码 | 无需声明 | #import "ProductModuleName-Swift.h” |
OC代码 | 依赖bridging header文件 | #import "Header.h” |