Já pesquisei em vários sites e vídeos do YouTube e não encontro nada sobre isso, se houver alguém com disposição para me demonstrar esse código agradeço, porque não me basta olhar a documentação da Apple, gostaria de uma explicação de alguém que entenda do assunto e até me dizer se é uma boa pratica desenvolver algo nessa linha de raciocínio
Tenho um webapi que retorna uma lista de provas em JSON:
{
"Provas": [
{
"Codigo": "16505984073",
"Disciplina": {
"Codigo": "657060",
"Nome": "SOCIOLOGIA E EDUCAÇÃO"
},
"Tipo": "SUB",
"Correcao": "2016-07-01T14:33:33.383",
},
{
"Codigo": "16994242303",
"Disciplina": {
"Codigo": "652640",
"Nome": "EDUCAÇÃO DE JOVENS E ADULTOS: FUNDAMENTOS E METODOLOGIA"
},
"Tipo": "SUB",
"Correcao": "2016-06-30T11:53:11.207",
},
{
"Codigo": "16916014662",
"Disciplina": {
"Codigo": "652540",
"Nome": "METODOLOGIA E PRÃTICA DO ENSINO DA HISTÓRIA E GEOGRAFIA"
},
"Tipo": "BIMESTRAL",
"Correcao": "2016-06-29T09:42:29.097",
},
{
"Codigo": "16892010587",
"Disciplina": {
"Codigo": "656140",
"Nome": "GESTÃO EDUCACIONAL"
},
"Tipo": "BIMESTRAL",
"Correcao": "2016-06-25T14:49:57.17",
},
{
"Codigo": "16435696693",
"Disciplina": {
"Codigo": "611460",
"Nome": "ORIENTAÇÃO EM SUPERVISÃO ESCOLAR E ORIENTAÇÃO EDUC"
},
"Tipo": "BIMESTRAL",
"Correcao": "2016-05-04T15:42:08.363",
},
{
"Codigo": "16781197682",
"Disciplina": {
"Codigo": "567140",
"Nome": "EDUCAÇÃO INCLUSIVA"
},
"Tipo": "SUB",
"Correcao": "2016-05-04T15:38:09.707",
},
{
"Codigo": "16496847758",
"Disciplina": {
"Codigo": "554740",
"Nome": "PEDAGOGIA INTEGRADA"
},
"Tipo": "SUB",
"Correcao": "2016-05-03T15:45:38.553",
},
{
"Codigo": "16640802740",
"Disciplina": {
"Codigo": "538740",
"Nome": "METODOLOGIA DO TRABALHO ACADÊMICO"
},
"Tipo": "SUB",
"Correcao": "2016-05-03T14:50:06.06",
}
]
}
E criei uma classe chamada Prova
import Foundation
class Prova
{
let codigo:String
let tipo:String
let dtcorrecao:NSDate
let disciplina:Disciplina
init(codigo:String, tipo:String, dtcorrecao:NSDate, disciplina:Disciplina)
{
self.codigo = codigo
self.tipo = tipo
self.dtcorrecao = dtcorrecao
self.disciplina = disciplina
}
}
e outra chama Disciplina
import Foundation
class Disciplina
{
let codigo:String
let nomedisciplina:String
init(codigo:String, nomedisciplina:String)
{
self.codigo = codigo
self.nomedisciplina = nomedisciplina
}
}
Gostaria de preencher este retorno do wepapi instanciando meu objeto "Prova" e depois popular uma tableview até consegui fazer isso recebendo os dados do JSON usando o Alamofire e populando meu objeto com esses dados usando o ObjectMapper, porém gostaria de saber se há algo nativo do Swift 3.0 pois agora com a atualização da linguagem Alamofire e ObjectMapper estão dando muitos erros e tambem não acho trivial depender de soluções de terceiros. Também não sei se essa seria a boa pratica para trabalhar com dados web(Retornar dados em JSON e converter em Objeto), caso não seja poderiam me mostrar qual seria em codigo para Swift 3.0, estou com o Xcode 8 já.