iOS OC和Swift进行互相调用

摘要:
有时候,我们会涉及到双向混合编程,特别是OC和swift的互相引用。swift调用oc的方法:1、桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加2、将需要引用的oc文件.h头文件添加到桥接类中。如果是基于oc创建的工程,暂未测试。

有时候 ,我们会涉及到双向混合编程,特别是OC和swift的互相引用。

swift调用oc的方法:

1、桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可)

2、将需要引用的oc文件 .h头文件 添加到桥接类中。

如下:

iOS OC和Swift进行互相调用第1张

然后在swift调用处,直接就可以使用了。

oc调用swift的方法:

1、首先设置一下Packing

进入TARGETS ->Build Settings -> Packaging 中

设置Defines Module为YES

设置 Product Module Name (这个也可以不设置,直接使用默认就行)

如图:

iOS OC和Swift进行互相调用第2张

2、设置完之后,在需要引用的oc文件头部 import一下,格式为:#import "工程名-Swift.h"

比如:#import "OrderSystem-Swift.h"

然后就可以使用swift文件了

对了,本文是基于swift创建的工程,两种情况分别对应正常的 swift引用oc文件,以及在oc文件内回头引用swift文件。

如果是基于oc创建的工程,暂未测试。

免责声明:文章转载自《iOS OC和Swift进行互相调用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux下swap到底有没有必要使用数据层交换和高性能并发处理(开源ETL大数据治理工具--KETTLE使用及二次开发 )下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

OC常用数据类型大全解

UI基础OC常用数据类型 Block Block封装了一段代码,可以在任何时候执行 Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:block是inline(内联函数)的,并且默认情况下它对局部变量是只读的 苹果官方建议尽量多用block。在多线程、异步任务、集合遍历、集合排序、动画转场用...

[转]iOS高级调试&逆向技术-汇编寄存器调用

前言 本文翻译自Assembly Register Calling Convention Tutorial 序言 通过本教程,你会可以看到CPU使用的寄存器,并探索和修改传递给函数调用的参数。还将学习常见的苹果计算机架构以及如何在函数中使用寄存器。这就是所谓架构的调用约定。 了解汇编是如何工作的,以及特定架构调用约定是如何工作是一项极其重要的技能。它可以...

cocos2dx cpp与oc混编打开ios摄像头或图库取图

为了完成这个需求,花了几天时间,各种求助。对于我这个菜鸟初学者而言确实有些难度。 在此整理一下,希望大家少走弯路。可能没考虑内存泄露等方面,因为我还没看这方面的东西,只满足需求先。 新建一个cocos2dx项目OpenCamera 由于要使用Cpp和OC混编,我们基于Cpp建一个混编类。 即先建一个C++类,再改后缀名到mm,主编码风格使用C++的。 在i...

【OC学习-12】什么是类的继承?为什么要继承?以及继承里面的注意事项

(1)怎样实现类的继承? //之前的继承根类,如类ASStudent继承自根类 @interface ASStudent:NSObject{ } @end //如今继承现有自己定义的类,如ASStudent继承自Student @interface ASStudent:Student{ } @end (2)为什么要学习继承?理由就是少些代码。某些东西能...

OC基础 代理和协议

OC基础 代理和协议 1.协议 (1)oc语言中得协议:一组方法列表,不需要我们自己实现,由遵守协议的类来实现协议所定制的方法。 (2)协议的使用步骤:制定协议-->遵守协议-->实现协议-->调用协议。 (3)协议声明的关键字: (a)@required,必须实现,不实现的话在.m文件内会报警告。 (b)@optional,可选实现,不...

iOS开发OC基础:OC数组对象NSArray的常用方法

本文介绍了OC的数组对象的基本方法的使用: 因为OC的数组中存储的为对象类型,所以我们可以新建一个Person类,通过Person生成对象进行操作。 其中Person.h中的代码为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #import @interface Person : NSObject {     NSStri...