Int
という関数を持っていますが、Int
だけではありません。それは次のようになります。Swiftで特定の範囲にバインドされた型を作成する
- だけ自然数の2から200
- から
Ints
など
は、有効な値の数が、その明示的Enum
を利用するには大きすぎると仮定それらのすべてを実現可能なアプローチと宣言します。
Swiftで閉じた範囲を指定する型を宣言する方法はありますか?
Range
で試してみましたが、期待通りに動作しません。
Int
という関数を持っていますが、Int
だけではありません。それは次のようになります。Swiftで特定の範囲にバインドされた型を作成する
Ints
などは、有効な値の数が、その明示的Enum
を利用するには大きすぎると仮定それらのすべてを実現可能なアプローチと宣言します。
Swiftで閉じた範囲を指定する型を宣言する方法はありますか?
Range
で試してみましたが、期待通りに動作しません。
は、私は考えることができる最高はあなたの状態を強制初期化と構造体にInt
をラップすることです:
struct NameMe {
let value: Int
init?(_ value: Int) {
guard 2...200 ~= value else { return nil }
self.value = value
}
}
すべての場所値の実行時の状態のチェックを必要とするだけではInt
を使用してのに対しそのような種類のものが必要とされていた場合、この手法では、最初にそのような値が作成された場所だけに制限されます。作成したら、その値が前提条件を満たしていることを知り、NameMe
のインスタンスを渡すことができます。
あなたは、実際の値を格納し、保存されたプロパティに値を取得および設定するコンピュープロパティを使用する保存されたプロパティを使用することができます。したがって、をに設定して検証してください。その方法で値を制限することができます