AlamofireObjectMapperを使用して、オブジェクトへの json 応答を解析しています。AlamofireObjectMapper はObjectMapperの拡張です。
彼らのドキュメントによると、私のモデル クラスはMappable
プロトコルに準拠する必要があります。例えば:
class Forecast: Mappable {
var day: String?
var temperature: Int?
var conditions: String?
required init?(_ map: Map){
}
func mapping(map: Map) {
day <- map["day"]
temperature <- map["temperature"]
conditions <- map["conditions"]
}
}
Mappable プロトコルに準拠するために、モデル クラスは必要な初期化子と各フィールドのマッピング関数を実装する必要があります。それは理にかなっている。
しかし、どのようにstruct
タイプをサポートしていますか? たとえば、私は構造を持っており、プロトコルCoordinate
に準拠しようとしています:Mappable
struct Coordinate: Mappable {
var xPos: Int
var yPos: Int
// ERROR: 'required' initializer in non-class type
required init?(_ map: Map) {}
func mapping(map: Map) {
xPos <- map["xPos"]
yPos <- map["yPos"]
}
}
Coordinate
上記のエラーのため、Mappable に準拠させることができません。
struct
( を使う代わりに for 座標データを使うことはかなり多いと思いますclass
)
私の質問:
Q1. AlamofireObjectMapper または ObjectMapper ライブラリはstruct
型をサポートしていますか? struct
タイプオブジェクトへのjson応答を解析するためにそれらを使用する方法は?
Q2. これらのライブラリが構造体型オブジェクトへの json 応答の解析をサポートしていない場合。iOS で Swift2 を使用する方法は何ですか?