Swift和OC混用

swift已经出来很久了。记得去年在北京一家公司的时候就使用了swift和OC混编。然后就是在写OC对swift关注度不够。在这里想写一下swift和OC混用的一些简单使用方法,如果有错误 请批评指正.

在一个应用的 target 中导入一些 Objective-C 文件供 Swift 代码使用时,你需要依赖于 Objective-C 的桥接头文件(bridging header)来暴露给 Swift。当你添加 Swift 文件到现有的 Objective-C 应用(或反之)时,Xcode 会自动创建这些头文件。

Swift和OC混用_第1张图片

在OC中使用swift

在OC的文件里面引入桥接文件

//使用工程名+-Swift 可以在OC中使用Swift代码

#import "SwiftTest-Swift.h"

 swift使用OC代码

Swift和OC混用_第2张图片

  1. 确保在 Build Settings 中 Objective-C 桥接头文件的 build setting 是基于 Swfit 编译器,即 Code Generation 含有头文件的路径。这个路径必须是头文件自身的路径,而不是它所在的目录。

这个路径应该是你工程的相对路径,类似 Info.plist 在 Build Settings 中指定的路径。在大多数情况下,你不需要修改这个设置。

在这个桥接头文件中列出的所有 public 的 Objective-C 头文件都会对 Swift 可见。之后当前 target 的所有 Swift 文件都可以使用这些头文件中的方法,不需要任何 import 语句。用 Swift 语法使用这些 Objective-C 代码,就像使用系统自带的 Swift 类一样。

  导入到 Swift
Swift 代码 不需要import语句 #import "ProductModuleName-Swift.h”
Objective-C 代码 不需要import语句;需要 Objective-C bridging头文件 #import "Header.h"

下面的一段时间里会使用一下框架 看下框架下的swift 和OC 有何区别。

你可能感兴趣的:(Swift,学习)