Korzystam z AlamofireObjectMapper do parsowania odpowiedzi json na mój obiekt. AlamofireObjectMapper jest rozszerzeniem ObjectMapper.Czy AlamofireObjectMapper/ObjectMapper obsługuje mapowanie typu struktury
Zgodnie z ich dokumentami, moja klasa modelu musi być zgodna z protokołem Mappable
. Na przykład:
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"]
}
}
w celu dostosowania się do odwzorowywalne protocl, moja klasa model ma wdrożyć wymagane inicjator i funkcję mapowania dla każdego pola. To ma sens.
ALE, w jaki sposób obsługuje typ struct
? Na przykład, mam Coordinate
struktury, staram się być zgodne z protokołem 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"]
}
}
nie mogę uczynić mój Coordinate
zgodne z odwzorowywalne, z powodu błędu pokażę powyżej.
(myślę, że jest to dość często, że za pomocą struct
dla danych współrzędnych zamiast korzystania class
)
Moje pytania:
Q1. Czy biblioteka AlamofireObjectMapper lub ObjectMapper obsługuje typ struct
? Jak używać ich do analizowania odpowiedzi json na obiekt typu struct
?
Q2. Jeśli te biblioteki nie obsługują analizy odpowiedzi json na obiekt typu struct. Jak to zrobić w iOS z Swift2?