- 新建Briding-header.h
Briding-header.h是Swift和OC的桥接文件,没有是不行的
如何新建:一般情况,在Swift工程中新建一个OC类,或者在OC工程新建一个Swift类,系统就会提示你是否创建,选择是就行了,然后再删除你刚刚创建的无用文件。如下图(在OC工程中创建的):
如果你选择了取消,可能下一次就不会提醒了,这时你需要手动添加,文件名一般为:工程名-Bridging-Header.h
进入 YourTarget -> Build Settings -> Swift Compiler-Code Generation 这个设置项里面,把你的 .h 文件的【绝对路径】输入到 Objective-C Bridging Header 里面就可以了。
2.导入相应的头文件
3.使用:
Swift工程使用OC
首先在上面创建的桥接文件导入OC头文件
let 实例名 = 类名()
实例名.方法名(参数名1:参数1,参数名2:参数2)
OC工程使用Swift
首先导入#import “工程名-Swift.h”,如你新建的工程是Confuse,#import “Confuse-Swift.h”
类名 *实例名 = [[类名 alloc] init];
[实例名 方法名];
-
使用 swift 的属性
swift 文件的属性前面需要使用 @objc 修饰,如:
@objc var name: String!
然后 oc 文件就可以直接 实例.name 去访问了 -
使用 swift 的block
swift 文件
typealias openSuccess = (_ dic: NSMutableArray) -> Void
@objc var openSuccessBlock: openSuccess?
然后 oc 文件就可以直接 实例.openSuccessBlock 去使用了