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. 解决libuuid.so.1 no version information available问题
  2. stm32系列启动文件解读(KEIL编译环境)
  3. 1082 射击比赛 (20 分)
  4. 会议容易中吗_在装配式建筑中重要又容易被忽视的部分,你中招了吗?
  5. bugku web基础$_POST
  6. (36)FPGA面试技能提升篇(FPGA行业产品)
  7. action链接html,如何使用@ html.actionlink删除链接文本
  8. 已被骗数百万美金!App Store 中诈骗应用横行,网友:“苹果只顾抽成!”
  9. Android Button 实现渐变背景色、外边框颜色、圆角弧度、点击变色(完整源码)
  10. DPDK - TX-Offload Checksum
  11. 笔记:盖洛普《伟大管理的12要素》中的12原则
  12. 【mysql】MySQL中的锁原理(表锁、行锁、间隙锁、共享锁、排他锁)
  13. GIS学习(一):密度分析、可达性分析、空间句法
  14. Vue教程-可视化图表
  15. 【软件测试】软件测试随手记
  16. 用ruby实现latex自动编译
  17. Spring boot集成Spring-data-Jpa中遇到的问题
  18. Windows10/11登录免密码
  19. 删除 Mac OS X 中“打开方式”里重复或无用的程序列表
  20. r语言中判断属于回纹元素_R语言中的回归诊断-- car包

热门文章

  1. Redis 5.0新功能介绍
  2. 远程桌面提示:身份验证错误 要求的函数不受支持
  3. node:ORM、数据模型、脚本创建模型与服务层
  4. C#23中设计模型UML图
  5. 使用ToolRunner运行Hadoop作业的原理及用法
  6. 推荐算法三视角:矩阵,图,时间线
  7. docker应用,后端服务出现OOM情况排查
  8. Linux nginx 会话保持(session)
  9. rsync本地及远程复制备份【原创】
  10. Java核心API -- 2(String、StringBuilder、StringBuffer)