桥接文件:
桥接文件时为了在swift中使用OC的内容。
当在Swift工程中新建Objective-C文件或者在Objective-C工程中新建Swift文件时,Xcode会自动提示你是否创建bridging header桥接头文件,点击创建后Xcode会自动为你创建一个桥接头文件。
补充:
- 如果OC工程中创建Swift文件或者Swift工程中创建OC文件时没有自动提示是否创建bridging header桥接头文件时,可以多尝试几次
- 如果发现Xcode的Build Setting 中没有Objective-C Bridging Header选项时尝试以上步骤,当Xcode创建了桥接文件后就能搜到Objective-C Bridging Header了
在OC中使用Swift
第一步:Targets -> Build Settings 中搜索 pack。把Defines Module 设置为 Yes 。
第二步: 创建一个Swift文件。下面两种方式创建都可以
如果是第一种方式创建,语言需选择swift,继承的类必须是NSObject或者其子类(不过系统类都是NSObject的子类)。完成之后会自动创建一个类。
如果第二种方式创建,创建完成后文件里面是没有类的,需要自己创建,但继承的类必须是NSObject或者其子类。
第三步:类创建完成后需要在使用的OC文件中导入#import “工程名-Swift.h”(可以放在pch文件中) , 才能使用创建的类。如果#import “工程名-Swift.h”报错,可以尝试把#import “工程名-Swift.h”中的工程名更改为一图中Product Module Name中的值。(亲测,有时是工程名,有时是Product Module Name的值)