に私は私のバックエンドは、このようなオブジェクトを返します(迷惑)な状況があります。各プロパティは、その最初の要素として文字列を保持する配列であるコード可能なオブジェクトマッピング配列の要素の文字列
{
"user": {
"name": [
"John"
],
"familyName": [
"Johnson"
]
}
}
を。私のデータモデルではstruct
私は配列として各プロパティを宣言することができますが、それは本当に醜いだろう。
struct User: Codable {
var user: String
var familyName: String
}
しかし、これはもちろん、タイプが一致しないため、エンコード/デコードに失敗します。今その
extension Map {
public func firstFromArray<T>(key: String) -> T? {
if let array = self[key].currentValue as? [T] {
return array.first
}
return self[key].currentValue as? T
}
}
しかし:今まで私はそれで私はinit
方法この機能により各値assig String
タイプとして、私のモデルでは、私のプロパティを宣言することができ、Map
オブジェクトとcurrentValue
プロパティを提供ObjectMapper
ライブラリを使用しました私はCodable
のアプローチに変換している、私はそのようなマッピングを行う方法を知らない。何か案は?
ありがとうございます。私は 'init'をオーバーライドするよりも、この方が好きです。 –