struct Unit: Codable {
var id: String
var name: String
var note: String?
}
When I decode this, note is set to the empty string (""), rather than nil, which is not what I expect nor want. Is there a way to override this behavior? I can special case it in my own init(from decoder:), but that's a bit of a hassle, so I'm hoping there's some easier way.
I think this is on purpose. As there is note tag in the XML file. For nil, it means there is no note tag at all. If you want otherwise, you can check the value that you get and set it nil when the value is empty.
I have some XML that looks like this:
And the corresponding struct:
When I decode this,
note
is set to the empty string (""
), rather than nil, which is not what I expect nor want. Is there a way to override this behavior? I can special case it in my owninit(from decoder:)
, but that's a bit of a hassle, so I'm hoping there's some easier way.(Complete example program here: main.swift.zip)
Thank you so much for the great library! It has made my life a whole lot easier on this little project.