我很难弄清楚如何声明某个嵌套的enum,并调用其中一个自动构造函数。我试图声明的这个enum应该有一个保留关键字作为类型名。
下面是我试图做的一个简单的例子:
import Foundation
public class Foo {}
public extension Foo {
enum `Type`: Int {
case bar
}
}
var type: Foo.`Type`
type = Foo.`Type`(rawValue: 0)这不会在SWIFT5.2中编译错误
错误:键入'Foo.Type‘没有成员'init’
我很确定这只是一个正确的语法问题,但我就是搞不清楚。任何人都可以解释怎么做,还是这一切都是不可能的?
发布于 2020-12-15 18:11:53
没有办法去做你想做的这件事。这就是为什么没有人使用名为Type的嵌套类型,尽管我们都希望这样做--语言已经提供了这种类型,而且您不能用自己的语言覆盖它。我们都使用了Objective风格的命名,就是在没有适当的分隔符的情况下直接粉碎单词Type。
FooType是你必须要做的事情。
https://stackoverflow.com/questions/65311276
复制相似问题