Swift and Objective-C in the Same Project
在项目里交叉使用Swift和OC

Swift与OC的兼容性使得你可以在项目里使用Swift+OC的方式编写应用程序,称为混合+匹配(mix and match),用这种方式可以一边使用享受新语言的快速特性,一边无缝的接合你已有的OC代码(原文听起来好NB的样子,其实也就那么回事),不管项目最初是用OC编写的还是新建的Swift项目,都可以在这个项目里用OC和Swift混合继续开发

Importing Objective-C into Swift

在Swfit代码中添加OC文件的时候,需要依赖一个bridging header文件,Xcode会在你新建一个OC文件的时候自动帮你创建(项目是使用Swift语言创建的),点击yes,Xocde就会在新建OC文件的同时帮我们新建一个 xxx-Bridging-Header.h 文件,xxx是你的项目名称(Product Module),然后我们得编辑这个文件才能让Swfit代码调用OC代码

在项目的xxx-Bridging-Header.h文件里,添加需要在Swift里调用的OC文件,然后就可以在Swfit代码中调用了

OBJECTIVE-C

[objc] view plaincopy
  1. #import "XYZCustomCell.h"
  2. #import "XYZCustomView.h"
  3. #import "XYZCustomViewController.h"

SWIFT

[objc] view plaincopy
  1. let myCell = XYZCustomCell()
  2. myCell.subtitle = "A custom cell"

在项目的 Build Settings 选项里,要确保Swift Compiler选项里有这个Bridging Header文件的设置,路径必须指向文件本身,而不是目录。

Importing Swift into Objective-C

当在OC里调用Swift中的代码时,需要依赖一个xcode自动生成的头文件,这个自动生成的头文件定义了项目中所有的Swift文件,这个头文件的命名为 “xxx-Swift.h” ,xxx为项目的名称,此外就不需要再做任何事情了,你只需要在OC代码里导入这么一个文件,就可以跟没事一样拿任意一个Swift中的代码用了

[objc] view plaincopy
  1. #import “ProductModuleName-Swift.h”

以上归纳为一个表

  调用Swift代码 调用OC代码
Swift代码 无需声明 #import "ProductModuleName-Swift.h”
OC代码 依赖bridging header文件 #import "Header.h”

转自:http://blog.csdn.net/huangchentao/article/details/35278663

转载于:https://www.cnblogs.com/weiboyuan/p/5126303.html

在项目里交叉使用Swift和OC【转】相关推荐

  1. 在项目里交叉使用Swift和OC

    wift and Objective-C in the Same Project 在项目里交叉使用Swift和OC Swift与OC的兼容性使得你可以在项目里使用Swift+OC的方式编写应用程序,称 ...

  2. swift 和 oc混编 找不到头文件等问题

    1 swift项目,找不到第三方文件,exp:AFN.h找不到,要修改build settings 里的User header custome search paths ,改成${SRCROOT},选 ...

  3. swift导入oc第三方库

    swift导入oc第三方库 前言 对于ios开发而言,目前很多第三方库或者demo还是以oc为主,swift相关的资料很少,这篇文章就结合博主的开发实例对在swift工程中导入并使用oc版本的第三方库 ...

  4. swift 5.1和oc双语言 WechatOpenSDK (1.8.7.1)微信登录集成教程封装成支持swift和oc方法调用

    目录 先看一下demo演示 安装pod 安装 到微信官网注册账户,并获取3个数据 添加关联域名 Associated Domains info.plist里面 添加 白名单 添加 URL Scheme ...

  5. swift_037(Swift之Swift和OC混编)

    接触Swift有一段时间了,但是一直没有试过混合编程.难得的五一小长假,就有空简单的写写Swift和OC的混合编程的Demo. 1.新建一个空的Swift项目 注意语言选择Swift. 2.新建一个O ...

  6. swift与OC之间不得不知道的21点

    2019独角兽企业重金招聘Python工程师标准>>> swift与OC之间不得不知道的21点 原文  http://www.cnblogs.com/dsxniubility/p/4 ...

  7. Swift和OC文件间的相互调用

    2019独角兽企业重金招聘Python工程师标准>>> 公共文件/桥接的方法 2016/1/26         13:33 Swift使用OC文件方法 看完上面内容之后,你只需要这 ...

  8. swift 打包sdk_在封装SDK中Swift和OC混编之相互调用

    oc和swift混编之相互调用.jpg 在非SDK中: 1.swift调用oc 步骤: 创建 工程名-Bridging-Header.h 放入oc的头文件,swift即可调用 在swift项目中或者在 ...

  9. Swift与OC混编过程中的配置

    女主宣言 在使用Swift进行iOS开发的过程中,经常涉及到Swift与OC混编的情况,有时主工程是OC的需要另外编入Swift代码,而有时主工程是Swift的需要另外编入OC代码.这其中涉及到修改一 ...

最新文章

  1. 开放式Android联盟成立
  2. mysql 代替intersect_MySQL不支持INTERSECT和MINUS及其替代方法_MySQL
  3. python中view的用法_APIview使用
  4. 【站点部署】解析二级域名并部署站点
  5. 零基础掌握区块链关键概念
  6. 实现List按与一个字符串的相似度和字母顺序排序(适用于模糊查询后的排序)...
  7. SAS Viya应用简介
  8. 在 SQL Server 的存储过程中调用 Web 服务
  9. 公式推导 11-20
  10. 海康、大华设备搜索大概实现原理
  11. 解决word或wps办公软件删除空白页后页面布局变乱问题
  12. MVC+knockoutjs知识点总结
  13. MyBatis面试题及答案
  14. S9-魔方方法与模块
  15. java.lang.UnsupportedClassVersionError: org/apache/activemq/spring/ActiveMQConnectionFactory : Unsup
  16. 顺丰bsp系统 java_顺丰BSP接口SOAP的请求示例
  17. 周末去哪儿架构师跟你聊:大数据平台快速解决方案
  18. css3 三角形_用尺规作直线同时平分三角形面积和周长
  19. 西北乱跑娃 -- mysql常用操作命令
  20. 谁还需要监控探头?eeGeo让老板知道你这一整天去了哪

热门文章

  1. 快递员要失业?两位前谷歌工程师研发出自动驾驶汽车只送货不载人
  2. 《剑指offer》二叉树的下一个节点
  3. java图像处理之图像裁剪
  4. Java学习小代码(1)编写三个数的排序程序
  5. python数据结构练习
  6. 将HTML格式的String转化为HTMLElement
  7. 朴素贝叶斯方法(Naive Bayes)原理和实现
  8. TensorFlow学习笔记(二)MNIST入门
  9. Scala入门到精通——第十六节 泛型与注解
  10. Redis--COW(Copy On Write)