在项目里交叉使用Swift和OC【转】
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
- #import "XYZCustomCell.h"
- #import "XYZCustomView.h"
- #import "XYZCustomViewController.h"
SWIFT
- let myCell = XYZCustomCell()
- 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中的代码用了
- #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【转】相关推荐
- 在项目里交叉使用Swift和OC
wift and Objective-C in the Same Project 在项目里交叉使用Swift和OC Swift与OC的兼容性使得你可以在项目里使用Swift+OC的方式编写应用程序,称 ...
- swift 和 oc混编 找不到头文件等问题
1 swift项目,找不到第三方文件,exp:AFN.h找不到,要修改build settings 里的User header custome search paths ,改成${SRCROOT},选 ...
- swift导入oc第三方库
swift导入oc第三方库 前言 对于ios开发而言,目前很多第三方库或者demo还是以oc为主,swift相关的资料很少,这篇文章就结合博主的开发实例对在swift工程中导入并使用oc版本的第三方库 ...
- swift 5.1和oc双语言 WechatOpenSDK (1.8.7.1)微信登录集成教程封装成支持swift和oc方法调用
目录 先看一下demo演示 安装pod 安装 到微信官网注册账户,并获取3个数据 添加关联域名 Associated Domains info.plist里面 添加 白名单 添加 URL Scheme ...
- swift_037(Swift之Swift和OC混编)
接触Swift有一段时间了,但是一直没有试过混合编程.难得的五一小长假,就有空简单的写写Swift和OC的混合编程的Demo. 1.新建一个空的Swift项目 注意语言选择Swift. 2.新建一个O ...
- swift与OC之间不得不知道的21点
2019独角兽企业重金招聘Python工程师标准>>> swift与OC之间不得不知道的21点 原文 http://www.cnblogs.com/dsxniubility/p/4 ...
- Swift和OC文件间的相互调用
2019独角兽企业重金招聘Python工程师标准>>> 公共文件/桥接的方法 2016/1/26 13:33 Swift使用OC文件方法 看完上面内容之后,你只需要这 ...
- swift 打包sdk_在封装SDK中Swift和OC混编之相互调用
oc和swift混编之相互调用.jpg 在非SDK中: 1.swift调用oc 步骤: 创建 工程名-Bridging-Header.h 放入oc的头文件,swift即可调用 在swift项目中或者在 ...
- Swift与OC混编过程中的配置
女主宣言 在使用Swift进行iOS开发的过程中,经常涉及到Swift与OC混编的情况,有时主工程是OC的需要另外编入Swift代码,而有时主工程是Swift的需要另外编入OC代码.这其中涉及到修改一 ...
最新文章
- 开放式Android联盟成立
- mysql 代替intersect_MySQL不支持INTERSECT和MINUS及其替代方法_MySQL
- python中view的用法_APIview使用
- 【站点部署】解析二级域名并部署站点
- 零基础掌握区块链关键概念
- 实现List按与一个字符串的相似度和字母顺序排序(适用于模糊查询后的排序)...
- SAS Viya应用简介
- 在 SQL Server 的存储过程中调用 Web 服务
- 公式推导 11-20
- 海康、大华设备搜索大概实现原理
- 解决word或wps办公软件删除空白页后页面布局变乱问题
- MVC+knockoutjs知识点总结
- MyBatis面试题及答案
- S9-魔方方法与模块
- java.lang.UnsupportedClassVersionError: org/apache/activemq/spring/ActiveMQConnectionFactory : Unsup
- 顺丰bsp系统 java_顺丰BSP接口SOAP的请求示例
- 周末去哪儿架构师跟你聊:大数据平台快速解决方案
- css3 三角形_用尺规作直线同时平分三角形面积和周长
- 西北乱跑娃 -- mysql常用操作命令
- 谁还需要监控探头?eeGeo让老板知道你这一整天去了哪