在升级到Xcode 7.3 swift 2.2后从swift调用obj-c枚举不起作用

克拉曼

在从7.1和Swift 2.2升级到Xcode 7.3之前,代码运行良好。我也看到了使用typedef NS_ENUM(NSUInteger,MyStatus)的答案...但是,如果可能的话,我宁愿不更改现有的obj-c代码

在obj-c头文件中定义:

typedef enum {
    StatusPending,
    StatusTimeout,
    StatusSuccess,
    StatusFail
} MyStatus;

Swift文件中的语句:

/* some code to retrieve the status */

switch (status) {

case .StatusSuccess:
 /* do something */

/* other test cases omitted here */

default:

}

我尝试使用.rawValue,.value等,但是仍然出现错误:

在类型'MyStatus'中找不到枚举案例'StatusSuccess'

升级之前,所有程序工作正常,并尝试卸载/重新安装Xcode 7.3,产品->清洁,产品->清洁生成文件夹..,但未成功:-(

库纳尔·卡纳(Kunal Khanna)

您不能在@interface和@end中声明“ typedef NS_ENUM(NSUInteger,EnumName){}”,xcode 7.2的解析不同于xcode 7.3。因此,只需将您的枚举声明移到@interface @end块之外,它应该可以正常工作,否则它被视为私有声明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Xcode 7和Swift 2编写项目时升级到Xcode 7.1是否安全?

命令由于信号失败:分段错误:升级到Xcode 8和Swift 3后为11

在Xcode 7 / Swift 2中播放音频不起作用

升级到Swift 3后UITableView坏了

从 smarty 2 升级到 3 意外的“|”

我已经安装了beta 2,如何升级到xcode 6 beta 3?

UIScreen.mainScreen()。nativeBounds.height在使用Xcode 7 / Swift 2,目标iOS7时不起作用

升级到iOS 8.4后,iPhone成为Xcode 7 beta2中不合格的设备

升级到Spring Boot 2.x后请求映射不起作用

将 mysql 升级到 8 后 mysql2 不起作用

从 18.04 升级到 20.04 后,Alt-F2 不起作用

升级到Xcode 7后无法写入文档目录

升级到xcode 7后的自动布局问题

XCode-手动升级到Swift 4

升级到Swift 3时使用未声明的类型

tableView.reloadData()在使用Simulator的Xcode 7 beta 4和Swift2中不起作用

将 RxPy 从 1.x 升级到 3.x 后订阅不起作用

从 18.04 升级到 18.10 后 gdm3 不起作用

将Spring Boot 1.5升级到2 <sec:authorize>不起作用

将Swift 3升级到4,不再在目标C中进行Swift扩展

升级到Xcode 8后,UIButton的角半径不起作用

Xcode 8 / Swift 3:简单的UIPicker代码不起作用

NSKeyedArchiver在Swift 3(XCode 8)中不起作用

Xcode 7不显示Swift 2的函数调用器

将项目从WP7升级到WP8后,活动磁贴不起作用

将Spring Boot版本从1.3.5升级到1.4.2后,DB2ZOS方言不起作用

升级到Swift 1.2后的错误

Swift 2到Swift 3 NSNotification / Notification

从Swift 2到Swift 3的转换错误