swift enum 和OC兼容

原创 2015年07月09日 16:02:25

虽然说swift是基于OC的,但是swift和OC还是有很多去别的,今天我们来说一下枚举变量

下面是某个免费短信验证码的验证方法的返回状态

enum SMS_ResponseState
{
    SMS_ResponseStateFail = 0,
    SMS_ResponseStateSuccess=1
};
这是一个正常的OC枚举写法,但是如果你在swift里面调用这个写在OC里面的枚举想进行操作的话,那么对不起,你会收到各种错误提示

比如你不能这样

if verifyState == SMS_ResponseState.Success

会报下面的错误(这个绝不是.Success调用错的愿意)

'SMS_ResponseState.Type' does not have a member named 'Success'
你也不能这样

<span style="font-size:12px;">if verifyState == 1</span>
会报下面的错误

Binary operator '==' cannot be applied to operands of type 'SMS_ResponseState' and 'Int'

但是下面的方法可以进行调用,但是我没有找到下一步进行操作的方法,有人研究出来还望不吝指教

let state = SMS_ResponseState(1)
同时你也不能这样去写

let state1 = SMS_ResponseState(0)
let state2 = SMS_ResponseState(1)
if state1 == state2 {
}

具体为什么会这样,我也不知道原因,如果哪位大神研究出来了,希望能分享一下,最终我的解决方法是只能修改枚举的写法,比如下面的写法

typedef NS_OPTIONS(NSUInteger, SMS_ResponseState){swift
    SMS_ResponseStateFail = 0,
    SMS_ResponseStateSuccess=1
};



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Objective C转Swift注意事项(一)合理使用结构体,枚举,extensions

前言14年Swift刚出的时候开始学习的Swift,后来由于项目需要,一直写App还是用的OC。最近打算把Swift重新捡起来,这个Objective C转Swfit系列就当成是我的复习笔记,顺便写成...

Swift兼容Oc

  • 2014-07-17 20:03
  • 465KB
  • 下载

OC项目集成第三方换肤框架:SwiftTheme(swift编写,兼容OC)教程

因为这个库是Swift写成的,要使用它,要使项目混编swift。 1.pod 导入:          在podfile 里面输入下面的 关键字后,pod install 导入 pod 'S...

Oc调用 swift

  • 2016-07-16 23:54
  • 47KB
  • 下载

Swift3.0-枚举(enum)和结构体(struct)

Swift3.0-枚举(enum)和结构体(struct) /* * 1、枚举 (enum关键字) 枚举是一种基本数据类型 */ print("1、枚举") enum Toward1:In...

OC与Swift混编的三种情况

  • 2017-03-25 00:47
  • 234KB
  • 下载

Swift学习 enum的遍历

在Swift官方教程讲到mei enum Suit { case Spades, Hearts, Diamonds, Clubs func simpleDescription() -...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)