iOS混编之OC文件中的枚举如何在Swift文件中调用

在OC和Swift混编的过程中有很多的细节需要注意。

今天介绍一下在OC文件中声明了一个枚举类型,如何在Swift文件中调用该枚举类型的值。

1.项目工程构建的时候选的是Swift语言,项目名称TestProject。

2.建立一个Swift文件SwiftTestFile.swift 和一个OC的文件 ObjectTestFile.h 和ObjectTestFile.m。

在ObjectTestFile.h 中声明一个枚举类型:

typedef NS_ENUM(NSInteger, YXLabelStyle) {
    YXLabelStyleSingle1_1,
    YXLabelStyleSingle1_2,
    YXLabelStyleSingle1_3,
}

首先必须确认的是枚举的每个值必须是枚举的“名字+后缀”的形式,这是一种规范,不这样在Swift文件中会导致调用不到。

也就是例子中枚举名为“YXLabelStyle”,那么每个值必须是“YXLabelStyle+...”的形式。

3.首先想要Swift调用OC文件及内容,必须有一个桥接文件并把需要调用的OC文件的头文件引入,桥接文件的构建就不多说了,一搜一大把,我们项目中桥接文件为“Bridging-Header.h”。

桥接文件中导入头文件:

#ifndef Bridging_Header_h
#define Bridging_Header_h

#import "ObjectTestFile.h"

#endif /* Bridging_Header_h */

4.这样就可以在Swift文件中调用这个枚举类型的值。

在调用的时候直接使用“YXLabelStyle.single1_1”或者直接“.single1_1”调用即可,这就是为什么要规范的原因。

5.列子:

假设我们有一个YXLabel,自定义实例化方法需要传入该枚举类型的值来确定YXLabel的一些样式和特性,那么我么可以这样:

let label = YXLabel(style: YXLabelStyle.single1_1)

或者直接这样:

let label = YXLabel(style: .single4_1)

 

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值