swift已经出来很久了。记得去年在北京一家公司的时候就使用了swift和OC混编。然后就是在写OC对swift关注度不够。在这里想写一下swift和OC混用的一些简单使用方法,如果有错误 请批评指正.
在一个应用的 target 中导入一些 Objective-C 文件供 Swift 代码使用时,你需要依赖于 Objective-C 的桥接头文件(bridging header
)来暴露给 Swift。当你添加 Swift 文件到现有的 Objective-C 应用(或反之)时,Xcode 会自动创建这些头文件。
在OC中使用swift
//使用工程名+-Swift 可以在OC中使用Swift代码
#import "SwiftTest-Swift.h"
swift使用OC代码
- 确保在
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 有何区别。