私の場合、構造はUser
です。スウィフト構造のプロパティの順序を変更するには?
プロパティを持つ構造の例(例として、プロパティはわずかです)。
struct User {
var name:String?
var email:String?
}
は、今私は、フィールドの特定の順序(電子メール、名)と
User
構造体を作成しています。
ここでは、プロパティの順序を確認するために構造のdump
を行っています。
dump(user)
▿ __lldb_expr_21.User
▿ name: Optional("Oleg")
- some: "Oleg"
▿ email: Optional("[email protected]")
- some: "[email protected]"
だから、性質が、私はそれらを追加したのと同じ順序であることをご注文の構造を変更することは可能でしょうか?または、配列を使用してプロパティの順序を保存する必要がありますか?
dump
の
期待される結果は次のとおりです。
▿ __lldb_expr_25.User
▿ email: Optional("[email protected]")
- some: "[email protected]"
▿ name: Optional("Oleg")
- some: "Oleg"
'User'は2つの*プロパティ*を持ち、値をどの順序で割り当てるかは関係ありません。それはなぜでしょうか? - また、 'dump()'は* debugging *のためのもので、プロパティを出力する特定の順序に頼るべきではありません。 –
@MartinRユーザ構造は、実際のプロジェクトで20以上のプロパティを持っています。私が記述する方法で構造のプロパティのシーケンスをログに記録する必要がある場合、レガシープロジェクトに問題があります。 –
注文が重要なのはなぜですか?順序は、構造体の定義で定義されている順序になります。何らかの理由で、構造体の各インスタンスにプロパティが設定されている順序を維持する必要がある場合は、適切な配列とプロパティオブザーバを追加して順序を保存できます。 –