Sto utilizzando AlamofireObjectMapper per analizzare la risposta di JSON al mio oggetto. AlamofireObjectMapper è un'estensione di ObjectMapper.AlamofireObjectMapper/ObjectMapper supporta il mapping del tipo di struct
Secondo i loro documenti, la mia classe modello deve essere conforme al protocollo Mappable
. Per esempio:
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"]
}
}
al fine di conformarsi al protocolllo Mappable, la mia classe del modello deve implementare l'inizializzatore richiesta e la funzione di mappatura per ogni campo. Ha senso.
MA, come supporta il tipo struct
? Per esempio, ho una struttura Coordinate
, cerco di conformarsi al protocollo 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"]
}
}
non riesco a fare il mio Coordinate
conforme al Mappable, a causa dell'errore mostro sopra.
(penso che sia abbastanza spesso che l'utilizzo struct
per coordinare i dati invece di utilizzare class
)
Le mie domande:
Q1. La libreria AlamofireObjectMapper o ObjectMapper supporta il tipo struct
? Come usarli analizzando la risposta JSON a un oggetto di tipo struct
quindi?
Q2. Se tali librerie non supportano l'analisi della risposta JSON all'oggetto del tipo struct. Qual è il modo di farlo in iOS con Swift2?