Objective-C与NSUIntegerMax兼容的Swift枚举

时间:2017-01-26 14:38:25

标签: objective-c swift enums uint

我正在将一些代码从Objective-C翻译成Swift。

@objc enum SomeType: UInt {
    case zero = 0
    case one = 6
    case max = UInt.max
}

然而,UInt.max给了我一个编译器错误:“enum case的原始值必须是文字。”

                        final String[] words = valText.split(" ");
                        for (String word : words) {
                            if (word.startsWith(prefixString)||toNoPalatals(word).startsWith(prefixStringNoPalatals)) {
                                newValues.add(value);
                                break;
                            }
                        }
                    }

那么这里发生了什么,我如何翻译它,具有向后兼容性?

1 个答案:

答案 0 :(得分:0)

UInt.max是在运行时定义的值。但是,要成为枚举的值,需要在编译时定义值。