ios – 无法访问Swift枚举值

ios – 无法访问Swift枚举值,第1张

概述参见英文答案 > Why can’t I use ‘Type’ as the name of an enum embedded in a struct?                                    2个 我在下面的类中定义了枚举: public class MyError: NSError { public enum Type: Int { ca 参见英文答案 > Why can’t I use ‘Type’ as the name of an enum embedded in a struct?                                    2个
我在下面的类中定义了枚举:

public class MyError: NSError {    public enum Type: Int {        case ConnectionError        case ServerError    }    init(type: Type) {        super.init(domain: "domain",code: type.rawValue,userInfo: [:])    }}

当我尝试在我的测试中稍后检查错误时:

expect(error.code).to(equal(MyError.Type.ConnectionError.rawValue))

我得到编译错误:类型MyError.Type没有成员ConnectionError

我在这里做错了什么想法?

解决方法 问题是Type是一个Swift关键字,你的自定义类型会混淆编译器.

在我在Playground中的测试中,您的代码生成了相同的错误.解决方案是更改任何其他名称的类型.种类示例:

public enum Kind: Int {    case ConnectionError    case ServerError}init(type: Kind) {    super.init(domain: "domain",userInfo: [:])}

然后

MyError.Kind.ConnectionError.rawValue

按预期工作.

总结

以上是内存溢出为你收集整理的ios – 无法访问Swift枚举值全部内容,希望文章能够帮你解决ios – 无法访问Swift枚举值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存