当前位置:网站首页 > C++编程 > 正文

swift和c++混编_objectc

Object-C作为Apple的iOS App开发语言服务了许多个年头,2014年Apple推出了新的编程语言Swift,更高效更安全的口号再次吸引了一大批非iOS开发程序员进入,小编认为Swift取代Object-C只是时间问题,在神州这片土地上,毕竟技术普及有些落后,但再有两年左右时间Swift产品链将形成,第三方支持框架逐步完善,Swift必将成为iOS开发主流。目前来看,激进派的现状Swift与Object-C混合开发。

Object-C中调用Swift

下面就给大家分享下Object-C项目下如何使用Swift编程。

  1. 首先创建一个Object-C工程
  2. 右击项目名称,在弹出的快捷菜单上点击“New File…”菜单项,如下图所示,在新建文件对话框中选择点击“Cocoa Touch Class”列表项,然后点击“Next”按钮,进入下一步

这里写图片描述
3. 输入新建类的类名,选择需要的父类类型,切换编程语言为Swift,然后点击“Next”,最后会出现如下图所示的对话框,主要提示是否自动生成隐藏的桥街头文件,显然这里需要创建,点击Create Bridging Header ,这样一个Object-C中就创建了一个Swift类
这里写图片描述

在Swift中写一个方法测试一下:

 func SayHi() { print("Hello,Welcome to call me!") } 

4.在Object-C中调用时需要注意,在类中需要引入隐藏式维护头文件

 #import “项目名称-swift.h” 

具体到我们这里就是为:

 #import “BlendSO-swift.h” 

5.最后就可以放心地调用Swift类了

SwiftClass *swift=[[SwiftClass alloc]init]; [swift SayHi]; 

那Swift项目中怎么调用Object-C呢?其实跟上边比较类似

Swift中调用Object-C

  1. 首先创建一个Swift工程
  2. 右击项目名称,在弹出的快捷菜单上点击“New File…”菜单项,如下图所示,在新建文件对话框中选择点击“Cocoa Touch Class”列表项,然后点击“Next”按钮,进入下一步

    这里写图片描述

    3.输入新建类的类名,选择需要的父类类型,切换编程语言为Objective-C,然后点击“Next”,最后会出现如下图所示的对话框,主要提示是否自动生成显式的桥街头文件,显然这里需要创建,点击Create Bridging Header ,这样一个Swift中就创建了一个Objective类

    在新建的Objective-C中测试一下:

     ObjectiveCClase.h中 @interface ObjectiveCClase : NSObject @property(nonatomic,copy)NSString *name; -(id)initWithName:(NSString *)name; -(void)SayHi:(NSString *)name; @end ObjectiveCClase.m中 -(id)initWithName:(NSString *)name { self=[super init]; self.name=name; return self; } -(void)SayHi:(NSString *)name { NSLog(@"%@说:Swift,欢迎你调用我!",name); } 

    4.这里跟上面不同的是需要在显式桥接头文件中加入Objective-C中的类的头文件名,而Objective-C中不用(也没法调呀,因为是隐式的)

这里写图片描述

5.最后在Swift中调用Objective-C的类实现OC中的功能

 let objective=ObjectiveCClase(name: "Objective-C") objective.SayHi("Objective-C") 
总结一下:
  1. Swift与Objective-C的互调在前期创建步骤基本相同
  2. 中期都会提示生成一个桥接文件,都是第一次的时候会提示,再创建就不会再次提示,但两者是有区别的:Objective-C中调用Swift时生成的是隐式的,而Swift调用Objective-C时是显式的桥接文件
  3. 最后在Objective中调用Swift时需要在所在类上边加上格式为#import “项目名称-swift.h”的头文件,而而Swift调用Objective-C时却是在显式的桥接文件中引入Objective-C的头文件
到此这篇swift和c++混编_objectc的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • c++调用matlab生成的dll_OBJECT2024-11-15 08:00:06
  • c语言中object指什么_Objective-C的特点2024-11-15 08:00:06
  • 全局变量在类中如何使用_objectivec和c语言2024-11-15 08:00:06
  • 苹果手机出现object object_objectc2024-11-15 08:00:06
  • C/C++后台研发需要点亮哪些技能树?学习路线规划2024-11-15 08:00:06
  • object—c_c++编程软件是什么2024-11-15 08:00:06
  • object c 教程_c++程序设计原理与实践2024-11-15 08:00:06
  • c中object类型_objective C2024-11-15 08:00:06
  • objective-c_c++教学软件2024-11-15 08:00:06
  • plc算法有哪些_plc天塔之光梯形图编程2024-11-15 08:00:06
  • 全屏图片