JSONEncoder
など、SwiftのFoundation
ライブラリに用意されたクラスの、デフォルトのプロパティの値が知りたいです。
例えば、以下のコードのような感じです。
JSONEncoder
のoutputFormatting
プロパティの値が.prettyPrinted
以外の値(rawvalue: 0
)になっていると思うのですが、どのようなプロパティになっていて、どういう意図があるのかが分かりません。
Swift
1let encoder = JSONEncoder() 2print(encoder.outputFormatting) // OutputFormatting(rawValue: 0) 3encoder.outputFormatting = .prettyPrinted 4print(encoder.outputFormatting) // OutputFormatting(rawValue: 1) 5
以下のURLはJSONEncoder
クラスのApple Developer Programのページになりますが、デフォルトで設定されているプロパティの値を書いていないように思います。
https://developer.apple.com/documentation/foundation/jsonencoder
どうすれば、クラスに設定されたデフォルトのプロパティと、その意図やクラスの動きを知ることができますか。
よろしくお願いします。
JSONEncoder.OutputFormatting は OptionSet (いわゆるビットフィールド) なので、0 はフラグが全部 false ってことですね。
https://developer.apple.com/documentation/foundation/jsonencoder/outputformatting
ありがとうございます。
OptionSetを知らなかったので今調べたのですが、ビットで複数のフラグを管理できる、例えばLinuxコマンドのchmod 577みたい感じの認識をしています。
つまり、JSONEncoder.OutputFormattingが0のときは、prettyPrinted、sortedKeys、withoutEscapingSlashesがすべてオフになってるってことですか?
あなたの回答
tips
プレビュー