当前位置: 首页 > news >正文

Swift与OC混编

Swift一出来就比较受人欢迎,但是还是有很多的第三方库是不支持Swift的,个人也感觉Swift还有很长的路要走。

而且最近连Swift的创始人都离开苹果公司了。。。。。。。。。

加入Swift用到了第三方的东西那怎么办呢,其实很简单,Xcode会自动帮你创建一个桥接文件,用来连接Swift和OC这两种语言,同样的在OC里面用Swift也是一样。

其实步骤都一样的,

第一种:在Swift中连接OC

步骤:

在新建一个OC类,到最后Xcode就会自动提示要不要创建Swift和OC的链接文件,点击创建即可,接着你就会发现项目里边就会多一个以项目开头的头文件,把要用到的OC类的头文件放到这个头文件里就可以了。

第二种:在OC中使用Swift

步骤:

和上面基本上一样,只需要再新建一个Swift类就可以啦,也会有一个桥接文件,但是这个桥接文件的目的主要是让Swift用OC类的,并不是让OC用Swift类的。

OC类使用Swift类真正起作用的是下面的几点:

第一:

找到项目文件->TARGETS->Build Settings->Packaging->Defines Module->YES或者直接在Build Settings里面搜索Defines Module

第二:

找到项目文件->TARGETS->Build Settings->Packaging->Product Module Name,记住这个字段或者直接在Build Settings里面搜索Product Module Name

第三:

在PCH文件中加入这段话,不知道PCH的点这里PCH文件的作用和配置

#import "刚才让你记住的字段-swift.h"

OK,这样就可以在OC的环境下调用Swift的类了

 

相关文章:

  • JavaWeb之文件上传、下载
  • HttpServletRequest和HttpServletResponse详解
  • shell面试难题
  • restlet入门搭建hello world
  • Vue初探
  • HTML/CSS常用的命名规则
  • Java googlecode JSON 解析示例
  • background-clip
  • Docker的常用命令-02
  • 【MongoDB】从入门到精通mongdb系列学习宝典,想学mongodb小伙伴请进来
  • SAS描述统计量
  • 老毛桃PE修改方法(屏蔽更改主页,屏蔽加装的绿色浏览器)
  • 2017年2月12日 WER学习总结
  • InfluxDB和MySQL的读写对比测试
  • 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
  • Consul Config 使用Git做版本控制的实现
  • Docker下部署自己的LNMP工作环境
  • dva中组件的懒加载
  • iOS | NSProxy
  • java取消线程实例
  • Laravel 实践之路: 数据库迁移与数据填充
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • php面试题 汇集2
  • React中的“虫洞”——Context
  • Zepto.js源码学习之二
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 机器学习学习笔记一
  • 机器学习中为什么要做归一化normalization
  • 设计模式走一遍---观察者模式
  • 事件委托的小应用
  • 算法系列——算法入门之递归分而治之思想的实现
  • 我建了一个叫Hello World的项目
  • 移动端唤起键盘时取消position:fixed定位
  • 06-01 点餐小程序前台界面搭建
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • ###C语言程序设计-----C语言学习(3)#
  • (C语言)字符分类函数
  • (二)PySpark3:SparkSQL编程
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (转) Android中ViewStub组件使用
  • .apk文件,IIS不支持下载解决
  • .describe() python_Python-Win32com-Excel
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET 服务 ServiceController
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • []T 还是 []*T, 这是一个问题
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会
  • [383] 赎金信 js
  • [BUG]vscode插件live server无法自动打开浏览器
  • [BZOJ4016][FJOI2014]最短路径树问题