假设我们有这个枚举:
- 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)
- }
- }