Swift&OC的互相调用

一、OC调用Swift类

OC调用Swift类不是通过桥接文件来完成,完成以下几步即可。
1、Targets —> Build Settings —> Packaging —> Defines Module设置为YES
2、在调用Swift类的OC类中导入"XXX-Swift.h",其中XXX是Product Module Name,默认是项目名,可修改。路径如下:


Swift&OC的互相调用_第1张图片
module_name.png

二、Swift调用OC类

Swift要想调用OC的类,需要使用桥接文件,桥接文件一般格式:XXX-Bridging-Header.h
桥接文件的产生有两种方式:

方式一、OC工程创建Swift类,或者Swift工程创建OC类时,Xcode都会生成:项目名-Bridging-Header.h

方式二、自定义。

  1. Xcode中command+n,选择Header File,为了命名规范些,最好和系统生成的桥接文件名称格式一致。
  2. 找到Targets —> Build Settings —> Swift Compiler - General —> Objective-C Bridging Header ,双击后边的路径,出现弹框后将生成的桥接文件拖入,直接回车。
    桥接文件路径如下:


    Swift&OC的互相调用_第2张图片
    bridge_route.png

附:Install Objective-C Compatibility Header : YES是默认设置的,不需要改动

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