swift – 对Enum的成员’init(from :)’的模糊引用

swift – 对Enum的成员’init(from :)’的模糊引用,第1张

概述假设我们有这个枚举: enum NumberEnumSpecial: Int32 { case two = 2, three = 3} 我想用Int32初始化它,所以我用它: let myEnum = NumberEnumSpecial.init(rawValue: 2) 这适用于游乐场项目,但不适用于我的常规App项目.我收到此错误的完全相同的代码: Ambiguous referen 假设我们有这个枚举:
enum NumberEnumSpecial: Int32 {    case two = 2,three = 3}

我想用Int32初始化它,所以我用它:

let myEnum = NumberEnumSpecial.init(rawValue: 2)

这适用于游乐场项目,但不适用于我的常规App项目.我收到此错误的完全相同的代码:

Ambiguous reference to member 'init(from:)'

/Users/sjoerd/GitHub/flitsmeister-ios/app/Flitsmeister7/Model/Melding/DangerZone.swift:91:22: error: ambiguous reference to member 'init(from:)'        let myEnum = NumberEnumSpecial.init(rawValue: 2)                     ^~~~~~~~~~~~~~~~~Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Swift.RawRepresentable:2:24: note: found this candIDate    public convenIEnce init(from decoder: Decoder) throws                       ^Build Failed    13/10/2017,09:32

点击候选人没有任何效果.

如果你问我,代码中的某个Enum似乎有一个init(from)实现在我的枚举上导致这个错误.但是搜索这个文本没有给我带来任何结果.

这个错误是什么?如何找出造成这种情况的原因?

使用Swift 3.2和XCode9.0

目前解决方法:

enum NumberEnumSpecial: Int32 {    case two = 2,three = 3    init?(withSpecialNumber number : Int32) {          self.init(rawValue: number)    }}
我使用Xcode 9.2 beta(9C32c)时遇到了同样的问题,如果它是一个BUG,它仍然没有在这个版本中修复.我发现了一种解决方法,可以在不覆盖init的情况下使错误消失.

我改变了这个:

NumberEnumSpecial.init(rawValue: 2)

对此:

NumberEnumSpecial(rawValue: 2)
总结

以上是内存溢出为你收集整理的swift – 对Enum的成员’init(from :)’的模糊引用全部内容,希望文章能够帮你解决swift – 对Enum的成员’init(from :)’的模糊引用所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存