スウィフトの新機能で、すぐに列挙型の機能を発見しました。計算されたプロパティを持つことはできますが、ストアドプロパティはありません。 列挙型にスクロールするプロパティがないのはなぜですか?スウィフト列挙型ストアドプロパティ
1
A
答えて
2
列挙型は構造化データ型です。彼らはvalue type
プロパティを保存することができます(例えばstatic
プロパティ)。しかし、オブジェクトのようなインスタンスプロパティを持つことはできません。また、計算されたプロパティは、多くの場合、変化するenumの各case
に対して異なる値を返すことができます。アップルのドキュメントから
値型は、その値が、変数または定数 に割り当てられているときにコピーされ、又はそれが関数に渡されたときタイプです。
すべての構造体と列挙型はSwiftの値型です。これは、 という名前の構造体と列挙型のインスタンスと、プロパティとして持つすべての値 型がコード内で を渡されたときに常にコピーされることを意味します。
列挙型は割り当てられるたびにコピーされるため、reference type
などのインスタンス変数を持つことはできません。違いは、参照型はコピーされる代わりに同じインスタンスを参照するということです。 Enumsはで定義されているので、値は常に同じになるので、とする。
編集:
構造体と列挙型との重要な違いは、構造体のプロパティを格納していることができるということです。列挙型の各ケースは異なる関連値を持つことができますが、列挙型の各値は列挙型で定義された単一のケースを表します。定義上、enumの場合は決して値を変更すべきではありません。そのような迅速な応答が、私のためのリファレンスタイプ、保存されているプロパティ
関連する問題
- 1. スウィフト列挙型Int型が必要
- 2. スウィフトに列挙型を格納する
- 3. スウィフト連想型列挙型のパラメータをフォールスルーで使用する
- 4. DBの列挙型または列挙型の列挙型
- 5. 列挙型の列挙型の列挙型へのアクセス
- 6. 列挙型の中の列挙型
- 7. 列挙型内の列挙型
- 8. 列挙型の列挙型の作成
- 9. 列挙型データ型
- 10. 多型列挙型
- 11. 列挙型hasMoreElements()
- 12. 列挙型は
- 13. は、列挙型
- 14. 列挙型は
- 15. 列挙型に
- 16. は、列挙型
- 17. 列挙型?
- 18. マッピング列挙型、
- 19. 列挙型プログラム
- 20. 列挙型の
- 21. 列挙型は
- 22. 列挙型は
- 23. WPFデータ列挙型の列挙
- 24. 仮想データ型/列挙型
- 25. Nhibernate列挙型エラー
- 26. DataSetの列挙型
- 27. MongoDBの列挙型
- 28. 反復列挙型
- 29. 列挙型のマッピング
- 30. Typedefing列挙型「メンバー」
おかげ:
構造体:値の種類、保存されていることができるプロパティ
列挙
:値の種類、保存されていることができない性質クラスこの背後にある技術的理由は何であるかのように疑問を抱いています。なぜインスタンスストアドプロパティを持つことができないのですか? –
moreを使って解を編集しました – Max
構造体もenumのような値型ですが、プロパティを格納しています。あなたの回答構造ごとに、インスタンスのプロパティも格納されていないはずです。私が何かを逃している場合は私を修正してください。 –