您所在的位置:小祥子 » 编程 » IOS » 正文

iOS- Swift和Object-C的混合编程

时间:2015-07-21 编辑:清澈Saup 来源:Cnblogs

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/
本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。    
关键词:编程