接触Swift有一段时间了,但是一直没有试过混合编程。难得的五一小长假,就有空简单的写写Swift和OC的混合编程的Demo。

1.新建一个空的Swift项目


注意语言选择Swift。

2.新建一个OC的控制器


注意语言选择OC。

3.这一步很重要


一定要点击红框中的按钮。

4.设置桥接文件路径


TARGETS–>Build Settings–>Objective-C Bridging Header
这里的路径在上面的第三步里面创建桥接文件的时候,Xcode就自动帮我们设置了。

5.在桥接文件中添加头文件

#import "OCViewController.h"
  • 1
  • 1

Demo结构

编写代码

接下来就是在.swift文件里面按照Swift的语法写代码在OC文件里面按照OC的语法代码就可了。
ViewController.swift

//MARK:跳转到下一页@IBAction func nextBtnClick(sender: AnyObject) {let ocVC = OCViewController()ocVC.showText = "Swift-OC"self.presentViewController(ocVC, animated: true) { }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

OCViewController.m

- (void)viewDidLoad {[super viewDidLoad];// 设置按钮标题[self.backButton setTitle:self.showText forState:UIControlStateNormal];// Do any additional setup after loading the view from its nib.
}
/***  返回上一个页面**  @param sender sender description*/
- (IBAction)backBtnClick:(UIButton *)sender {[self dismissViewControllerAnimated:YES completion:nil];
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

控件都是使用IB拉的所以,文件里面没有控件的创建过程。
代码下载地址:Swift-OC

swift_037(Swift之Swift和OC混编)相关推荐

  1. swift和OC混编

    swift和OC混编

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

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

  3. c++与oc混编之c++中调用oc方法

    项目中用到了C++与OC混编,正好有时间来总结一下. 基本思路: C++中是不能直接调用OC代码的,所以要通过一个中介--C,来让他们建立联系,从而实现在C++中调用OC代码. 1.新建C++文件 X ...

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

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

  5. iOS C++/OC 混编

    转自:http://blog.csdn.net/fengsh998/article/details/8010696 Objective-C和C++混编的要点 在 Objective-C++中,可以用C ...

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

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

  7. Swift与C++混编 OpenCV初体验 图片打码~

    OpenCV初体验,给图片打码 提到OpenCV,相信大多数人都听说过,应用领域非常广泛,使用C++开发,天生具有跨平台的优势,我们学习一次,就可以在各个平台使用,这个还是很具有诱惑力的. 本文主要记 ...

  8. Swift和Objective-C混编注意事项

    前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋没来讲,的确算是福音,但对于整个iOS编程从业者来讲 ...

  9. 初探swift语言的学习笔记九(OC与Swift混编)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...

最新文章

  1. 详解DNS的常用记录(下):DNS系列之三
  2. 分库分表技术演进最佳实践-修订篇
  3. 认识 Linux 系统结构
  4. linux 进程(一)---基本概念
  5. RealARM开发板 TFTP下载内核和NFS挂载文件系统 基于S5PV210开发板
  6. python 连接mysql_python连接MySQL
  7. Java开发工具可以促进编程!
  8. 数据预处理-数据变换-规范化
  9. 一台服务器搭建部署两个或多个Redis实例
  10. OTSU_图像二值化分割阈值的算法
  11. 谷歌跨界医学新动作:基因突变定位模型又更!新!了!
  12. iCalamus for Mac(版面设计工具)
  13. 你不知道的Bitmap
  14. Chrome解决网页文字无法复制
  15. 云呐|RFID资产盘点系统带审批(rfid库存盘点功能)
  16. MPB:北林袁峥嵘组-​16S扩增子分析中常用软件及数据库应用现状
  17. 电脑可以连接手机热点,却无法连路由器无线wifi
  18. 【HNOI2013】切糕
  19. 朴实无华!注意力机制神经网络解析
  20. 代季峰对话张祥雨 | 自动驾驶感知新时代!新一代环视感知算法BEVFormer有哪些优势...

热门文章

  1. iPhoneX延迟这么久预订,真实原因连库克也没料到
  2. 莫比乌斯函数+莫比乌斯反演
  3. N个免费DevOps开源工具,没用过,至少应该了解!
  4. 【入门须知】学DIV CSS技术如何入门?
  5. 文件服务器vsftp的配置
  6. OC基础数据类型-NSData-NSMutableData-NSString
  7. mySQL教程 第10章 事务和锁
  8. DirectX11 SDK下载地址:
  9. ruby中DBI连接MySQL数据库步骤详解
  10. ubuntu下安装nagios