Bonjour,
j’ai suivi le cours sur le Webservice et je souhaite maintenant intégrer les les données récupérer pour les intégrer à CoreData. Le but est de pouvoir consulter les données même si je suis hors ligne.
Le soucis est que je récupère plusieurs articles en même temps, et je ne sais pas comment l’intégrer dans Coredata. je pense qu’il faut faire une boucle pour intégrer les articles au fur et à mesure mais je ne sais pas comment m’y prendre.
Exemple de json (chaque article est fait de la même façon) :
[
{
"id": 321535,
"date": "2021-06-04T20:38:55",
"link": "https://xxxx.fr",
"title": {
"rendered": "TITRE ARTICLE 1"
},
"content": {
"rendered": "CONTENU ARTICLE 1",
},
"comment_status": "open",
"categories": [
14
],
"author_meta": {
"nickname": "JB"
},
"amp_enabled": true,
"thumbnail": "https://xxxx.fr",
"comments": "0",
},
{
"id": 321535,
"date": "2021-06-04T20:38:55",
"link": "https://xxxx.fr",
"title": {
"rendered": "TITRE ARTICLE 1"
},
"content": {
"rendered": "CONTENU ARTICLE 1",
},
"comment_status": "open",
"categories": [
14
],
"author_meta": {
"nickname": "JB"
},
"amp_enabled": true,
"thumbnail": "https://xxxx.fr",
"comments": "0",
},
...
]
En utilisant webservice, je recupere le json que transforme en tableau dans une variable (même fonction que dans le cours de Maxime). Ma variable newsList est de type [Post]
Voici struct Post
struct Post: Hashable, Codable, Identifiable {
var id: Int
var type: String
var thumbnail: String
var date: Date
var link: String
var author_meta: Author_meta
var categories : Categories
var comment_status: String
var comments: Int
//Title is of type struct Title
var title: Title
var content: Content
}
//Structure to map Title
struct Title: Hashable, Codable {
var rendered: String
}
//Structure to map authors meta
struct Author_meta: Hashable, Codable {
var nickname: String
}
//Structure to map Content
struct Content: Hashable, Codable {
var rendered: String
}
Pour CoreData j’ai aussi pris le ciurs de maxime que j’ai adapté. le soucis est la passerelle entre les deux car j’ai un tableau de type [Post] mais je ne peux pas l’isnererer comme cela dans CoreData
Merci d’avance pour votre aide.