OC中使用Swift
- 在工程的Build Setting中把defines module设为YES
- 把product module name设置为工程项目的名字
- oc文件中导入projectName_swift.h中
#import "工程名-Swift.h"
注意:projectName_swift.h这个文件是系统自己创建的,勿手动创建
如果打不出方法名需要在Swift方法名前加 @objc
Swift中使用OC
创建桥接文件
1.1 自动创建
1.2 手动创建
file>new>file>(iOS or OS x)>source>header file
工程名-Bridging-Header.h (按照这样的名字创建)设置文件路径
在项目的Build Settings选项里,要确保Swift Compiler选项里有这个Bridging Header文件的设置,路径必须指向文件本身,而不是目录!
在targets->build settings ->Object-C Bridging Header 位置
2.1 Swift调用OC方法,关键还是桥接头文件,必须创建并配置正确。然后把你想要调用的OC或C的头文件导入到桥接头文件里,Swift才能正常调用OC和C
2.2 OC要想使用某个类,必须有头文件,而swift文件却没有,对于OC调用swift 的头文件比较特殊.因为头文件里面的机制是自动生成的
2.3 凡是用Swift写的类,如果不继成自NSObject或NSObject 的派生类,哪么编译后将不会生成对应的转换类。从而使得OC 中找不到相应的声明。