Swift OC 代码相互调用
2020-12-27 本文已影响0人
Aliv丶Zz
1. Swift项目中调用OC代码
首先要生成一个桥接头文件。生成方法:
方法1:
- 新建一个.h文件。文件名格式为:{targetName}-Bridging-Header.h
-
设置路径
image.png
-
方法2:
创建一个OC文件。系统自动生成生成{targetName}-Bridging-Header.h文件,并自动添加路径
image.png
2. OC项目 调用 Swift代码
Xcode 已经默认生成了一个用于OC调用Swift的头文件,文件格式是:{targetName}-Swift.h,
image.png
- 在OC文件中
#import "emptyPorject-swift.h"
- 配置Swift的类,进行相关的声明
- Swift的类需要继承NSObject
- 通过@objc 重命名Swift暴露给OC的符号名(类名,属性名、函数名等)
Xcode会根据Swift代码生成对应的OC声明,写入{targetName}-Swift.h文件
swift文件中
@objc(OC_Person)
@objcMembers class SwiftPerson : NSObject{
var price: Double = 0.0
@objc(oc_name)
var band : String = "jack"
@objc(drive)
func run(){
}
}
OC文件中调用
OC_Person *pe = [[OC_Person alloc] init];
[pe drive];
pe.oc_name = @"";