Swift OC 代码相互调用

1. Swift项目中调用OC代码

首先要生成一个桥接头文件。生成方法:

方法1:

    1. 新建一个.h文件。文件名格式为:{targetName}-Bridging-Header.h
    1. 设置路径


      image.png

方法2:

创建一个OC文件。系统自动生成生成{targetName}-Bridging-Header.h文件,并自动添加路径


image.png

2. OC项目 调用 Swift代码

Xcode 已经默认生成了一个用于OC调用Swift的头文件,文件格式是:{targetName}-Swift.h,


image.png
  1. 在OC文件中 #import "emptyPorject-swift.h"
  2. 配置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 = @"";

你可能感兴趣的:(Swift OC 代码相互调用)