创建swift工程后,如果后面想新建 oc 文件,这时会生成一个  AppName-Bridging-Header.h文件

一,在swift 文件中

1> 引用swift 文件

什么都不需要操作,在所有的swift 文件中,都是可以相互使用的

2> 引用oc 文件

AppName-Bridging-Header.h文件中把要引用的oc头文件导入,然后在所有的 swift 文件中都可以使用这个oc类

二,在oc文件中

1> 引用swift文件

swift 语言创建的工程会自动生成一个 AppName-Swift.h 文件,这个文件会包含所有swift 文件的头文件,因此在oc 文件中使用swift 类只需导入AppName-Swift.h文件即可, 即#import "AppName-Swift.h",然后在这个oc文件中就可以使用所有的swift 类

2> 引用oc 文件

导入要使用oc文件的头文件 eg. #import "UsedOcFile.h"

总结

                            调用oc代码    调用swift代码
swift文件 依赖AppName-Bridging-Header.h 无需声明
oc文件 #import "OC.h" #import "AppName-Swift.h

swift 项目 oc 和 swift 混用,文件相互引用的更多相关文章

  1. [Swift]在Swift项目中创建桥接头文件,Swift文件和Objective-C文件相互调用

    创建一个Swift项目[demo],以下内容Swift文件和Objective-C文件相互调用都是在Swift项目中. 一.Swift文件调用Objective-C文件 新建文件夹[SupportFi ...

  2. swift项目初始化并添加忽略文件Swift.ignore

    1 先去GitHub上去把最新的忽略文件下载下载 https://github.com/github/gitignore 2 然后找到Swift.gitignore  把里面的 pod 前面的# 删除 ...

  3. 配置vue项目将打包后图片文件的引用路径改为cdn路径?

    vue cli3项目, 需求: 图片文件打包时, 将项目内的所有图片文件的引用地址改为cdn路径 vue cli3的默认配置下, 打包后图片使用的是相对路径, 例如打包后项目内图片引用路径为 img/ ...

  4. JavaWeb项目WebContent下的资源文件无法引用

    JavaWeb项目引用资源的时候尽量使用绝对路径. 作者在帮助同学完善其JavaWeb项目端页面的时候,css样式文件怎么也引用不了. 第一个想到的是:是不是文件路径写错了? 于是,作者换了绝对路径, ...

  5. nodejs a和b文件相互引用

    //取自于node中文网 http://nodejs.cn/api/modules.html 当循环调用 require() 时,一个模块可能在未完成执行时被返回. 例如以下情况: a.js: con ...

  6. swift项目中嵌入oc

    参考资料 需要注意的是  与oc包含swift不同的是  swift包含oc需要在桥接文件中包含要使用的oc的头文件 demo:swiftPlayOc(提取码:37c6)

  7. Swift项目兼容Objective-C问题汇总

    Swift项目兼容Objective-C问题汇总 转载自 http://www.cocoachina.com/swift/20150608/12025.html 本文是投稿文章,作者:一叶(博客)欢迎 ...

  8. iOS开发--混编篇&swift与OC混合使用

    Swift与OC混合使用 swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,哪就使用混编. ...

  9. swift 与 OC 混合编程

    原文地址:http://www.cocoachina.com/swift/20150608/12025.html 一.解决问题 Swift项目需要使用封装好的Objective-c组件.第三方类库,苹 ...

随机推荐

  1. linux 项目环境搭建配置

    经过三天加一上午的努力折腾,本地项目终于跑起来了,linux系统,重装后需要安装基本的php,nginx,mysql.php扩展需要安装curl ,memcache,memcached等.然后就是修改 ...

  2. js 根据名字获取cookie 的方法

    function getcookie(c_name) { if (document.cookie.length > 0) { c_start = document.cookie.indexOf( ...

  3. C#中的BackgroundWorker控件+Delegate.Invoke (委托同步调用)

    C#中的BackgroundWorker控件+Delegate.Invoke (委托同步调用) 简单代码,记录一下.一个BackgroundWorker控件  backgroundWorkerRefr ...

  4. 【洛谷P3076】Taxi

    这道题值得好好想一会 我们通过对一些小数据的手算,以及对于每段路程的拆分,可以发现: 1.每个st对应的ed这段路程无论如何都要算上 2.额外还要计算的一段路程,就是"切换"费用 ...

  5. Android Studio--Gradle基础(转)

    原文链接:http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/ 其实很早之前也写了一篇Gradle的基础博客,但是时间 ...

  6. [UCSD白板题] Greatest Common Divisor

    Problem Introduction The greatest common divisor \(GCD(a, b)\) of two non-negative integers \(a\) an ...

  7. EOS -- 一种灵巧的系统运行跟踪模块

    EOS到底是什么词的缩写,我猜应该是Error of System.最早接触它,是在UT那会.不过那会它是被设计成一个很大的数组,也没有被包含调用函数和行号,又或是时间,只是些计数.编码时,加减一个E ...

  8. 编译器错误信息: CS0433: 类型“ASP.usercontrols_total_ascx”同时存在

    “/”应用程序中的服务器错误. 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误信息: CS0433: 类型“ASP.use ...

  9. Proximal Gradient Descent for L1 Regularization

    [本文链接:http://www.cnblogs.com/breezedeus/p/3426757.html,转载请注明出处] 假设我们要求解以下的最小化问题:                     ...

  10. 后台设置gridview不换行

    GridView1.Style.Add("word-break", "keep-all");            GridView1.Style.Add(&q ...