2
Objective-CのコードをSwiftに翻訳しています。Objective-C互換Swift enum with NSUIntegerMax
typedef NS_ENUM(NSUInteger, SomeType) {
SomeTypeZero = 0,
SomeTypeOne = 1,
SomeTypeMax = NSUIntegerMax
};
しかし、UInt.maxではコンパイラエラーが発生します。「列挙型の場合の生の値はリテラルでなければならない」
@objc enum SomeType: UInt {
case zero = 0
case one = 6
case max = UInt.max
}
ここでは何が起こっているのですか。それを下位互換性を持ってどのように翻訳できますか?
このスレッドをチェックしてくださいhttp://stackoverflow.com/questions/31215825/how-to-convert-a-computed-value-to-a-iteral-for-enum-initialization –
これらの値が定義されているからです実行時の代わりにコンパイル時に? –