1.前言  

 
事实证明,在短时间内Swift还取代不了Object-C,
而且....
Apple Swift 开发小组的人说的:「We'll recommend people start with Swift, sure, but ObjC isn't going anywhere. Our goal's to work with the platform, not reinvent.」嗯,Apple 官方对 Swift 和 ObjC 的态度很明白了,准备同时学好两门语言吧.
 
 
 
那么我们首先要会的就是两种语言的混合编程了,今天简单入门下- 
 

2.Swift调用Object-C代码

2.1.创建一个Swift project  

 
 

2.2.创建一个Object-C class

 
这里会显示是否需要创建一个OC桥梁的header,然后我们选YES
这里是肯定要创建的
 
然后在OC的 class里编写一个简单方法
 
 

2.3.在桥梁文件中导入OC文件的头文件  

如果不导入的话,在Swift文件里将会没有提示,并且无法调用
 

2.4.在Swift文件中创建对象,运行  

 
如图:调用sayhello方法成功.
 
 
 

3.Object-C调用Swift代码  

3.1.创建一个Object-C project  

 
 

3.2.创建一个Swift class  

 
这里仍然会显示是否需要创建一个OC桥梁的header,然后我们选YES
这里是肯定要创建的

2.3.桥梁文件  

这里和Swift调用OC 不同重点,需要注意下

这个是Swift主动用来调用OC语言所需要的
这里我们是OC调用Swift语言,所以不用在这个桥梁文件中导入Swift文件
_____________
为什么呢?
因为创建它的同时,xcode还创建了一个隐藏文件
而这个隐藏文件才是我们OC调用Swift语言的必须品
那么它叫什么名字呢?
 
“项目工程名”+ “-” + “Swift”  .h
 
我们需要在OC的class里,导入这个隐藏文件
虽然我们看不到,但是其实它是存在的.
 
 
 

2.4.在OC文件中创建对象,运行  

 
注意:这里OC创建完对象,调用方法的时候 有时会出现——
调用方法的时候没有提示,甚至报错说找不到这个方法
这时我们不用管,直接运行
 
事实证明运行成功,之后报错信息就会消失
 如上图:调用sayhello方法成功.
 

谢谢大家,还有什么疑问可以评论中提出,我有时间会耐心回复!
 
作者: 清澈Saup
出处:http://www.cnblogs.com/qingche/
本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。
 
 

iOS- Swift和Object-C的混合编程的更多相关文章

  1. Qt for iOS,Qt 与Objective C混合编程

    项目设置 既然要聊 Qt 混合 OC 编程,首先要简单介绍一下 Objective C .我只有一句话:Go,问搜索引擎去.因为我所知实在有限,怕误导了您.当然如果您不怕,往下看吧. OC源文件介绍 ...

  2. Swift语言与Objective-C语言混合编程

    首先创建一个Swift的Single View工程 然后直接在工程中新建OC文件: 然后选择OC语言之后会问你是否自动创建OC和Swift的中间文件: 然后工程文件夹里就有了三个文件: 现在OC头文件 ...

  3. IOS-Swift、Objective-C、C++混合编程

    1.Objective-C调用C++代码 后缀为m文件的是Objective-C的执行文件,而后缀为mm文件的是Objective-C++文件. 直接在Objective-C中是无法调用C++代码的, ...

  4. iOS - Swift 与 C 语言交互编程

    前言 作为一种可与 Objective-C 相互调用的语言,Swift 也具有一些与 C 语言的类型和特性,如果你的代码有需要,Swift 也提供了和常见的 C 代码结构混合编程的编程方式. 1.基本 ...

  5. swift 与 OC 混合编程

    原文地址:http://www.cocoachina.com/swift/20150608/12025.html 一.解决问题 Swift项目需要使用封装好的Objective-c组件.第三方类库,苹 ...

  6. Objective-C:swift、objective-c、C++、C混合编程

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/ ...

  7. Swift 与 C 语言混合编程

    前言 作为一种可与 Objective-C 相互调用的语言,Swift 也具有一些与 C 语言的类型和特性,如果你的代码有需要,Swift 也提供了和常见的 C 代码结构混合编程的编程方式. 1.基本 ...

  8. Swift和Objective-C混合编程——Swift调用OC

    在iOS应用的开发中.Swift必将代替OC,两者的趋势是"短期共存,长期代替".但曾经有太多的代码是用OC语言完毕的,而Swift的开发也从 OC中继承了非常多的特性.两者也是有 ...

  9. 用c/c++混合编程方式为ios/android实现一个自绘日期选择控件(一)

    本文为原创,如有转载,请注明出处:http://www.cnblogs.com/jackybu 前言 章节: 1.需求描述以及c/c++实现日期和月历的基本操作 2.ios实现自绘日期选择控件 3.a ...

  10. iOS自学-混合编程

    OC调用swift,引入头文件 #improt "工程名字-swift.h" swift调用OC,在桥梁文件里面引入OC文件 的头文件 尽情混合编程吧...

随机推荐

  1. 轻松解决U盘加密问题

    很多小伙伴常常会遇到这样的问题,比如说有朋友或者同事想借用你的u盘,处于人情世故你又不得不借,但是又不喜欢自己的文件被别人看到或者担心丢失或被修改,在此提供一种给u盘加密或者给u盘里的文件加密的方法. ...

  2. 【Mac】解决「无法将 chromedriver 移动到 /usr/bin 目录下」问题

    问题描述 在搭建 Selenium 库 + ChromeDriver 爬虫环境时,遇到了无法将 chromedriver 移动到 /usr/bin 目录下的问题,如下图: 一查原来是因为系统有一个 S ...

  3. 20155310 《Java程序设计》实验四 (Android程序设计)实验报告

    20155310 <Java程序设计>实验四 (Android程序设计)实验报告 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Andro ...

  4. RHCSA-day3

    10.配置LDAP客户端 在classroom.example.com上已经部署了一台LDAP认证服务器,按以下要求将你的系统加入到该LDAP服务中,并使用Kerberos认证用户密码: 该LDAP认 ...

  5. 新技能get,使用PHPStorm的deployment工具

    1. 工具栏 Tools - Deployment - Configuration 2. 添加一个服务端的配置信息 type 类型可以选择:FTP.local等. 填完信息别忘了点"Test ...

  6. spring 缓存机制

    简介 Spring3.1开始引入了基于注释的缓存,其使用方法和原理类似于Spring对事务管理的支持.可以对容器中的任意的bean或bean的方法添加缓存.   配置Spring缓存 Spring缓存 ...

  7. replace与replaceAll的区别

    这两者有些人很容易搞混,因此我在这里详细讲述下. replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了 ...

  8. 一个自己实现的string

    最近实现了一个string类,添加了一些c++11元素. 除了基本的构造析构函数,拷贝构造和赋值函数,另外添加移动拷贝和赋值函数.default是一个很方便的特性有木有. //default cons ...

  9. maven 手动安装jar包

    1.问题 maven有时候在pom文件引入jar包会报错,所以可以通过手动导入jar包的方式导入. 2.解决: 通过maven命令导入jar包, mvn install:install-file -D ...

  10. python5

    print应用 // 输出两行 print "hahaha" print "hehehe" // 输出在同一行里 print "hahaha" ...