Peut-on faire un tableau dans une classe

Je peux transformer ceci : Marque (nom: "AUDI", modele: "RS3", modele2: "RS5",modele3: "RS6", image: "logo-audi",like: false),

J’aimerais faire un seul modele comme cela : Marque (nom: "AUDI", modele: ["RS3","RS5","RS6"] , image: "logo-audi",like: false),

Mais ça ne fonctionne pas auriez vous une solution ? Le contexte est plusieurs TableView dans une TableViewController

Merci d’avance

  • Only if these boards were only private to paying developers with at least one app in the store or development!

Add a Comment

Accepted Reply

Mais ça ne fonctionne pas

Ceci ne donne aucune information!

Pouvez vous dire exactement:

  • comment avez vous défini Marque (struct)
  • ce que vous avez essayé (le code)
  • ce que vous obtenez
  • ce que vous vouliez

Note: quand vous postez sur le forum, choisissez un tag qui soit pertinent. Votre question ne semble pas se référer aux Search ads

  • Ma class Marque :

    class Marque {

        var nom: String     var modele: [String]     var modele2: String     var modele3: String     var image: String     var like: Bool  

        init(nom: String,modele: [String],modele2: String,modele3: String, image: String, like: Bool){

            self.nom = nom         self.modele = modele         self.modele2 = modele2         self.modele3 = modele3         self.image = image         self.like = like     }     convenience init() {         self.init(nom: "",modele: [""],modele2: "",modele3: "", image: "", like: false)     } }

    Ce que je veux faire :

    case 1:

                let cell = tableView.dequeueReusableCell(withIdentifier: "ModeleCell", for: indexPath) as! ModeleTableViewCell             cell.modeleLabel.text = marque.modele <-- a cette ligne j'ai une erreur : Cannot assign value of type '[String]' to type 'String'        

                return cell

    Comment résoudre le problème ?

  • J'ai ajouté des photos dans les réponses pour mieux comprendre tu pourrais regarder ?

Add a Comment

Replies

Don't be cheap this is what you're looking for - https://searchads.apple.com

  • You can write the good code for me ?

Add a Comment
import Foundation
struct Brand: Codable {
    let name: String
    let model: [String]
    let image: String
    let like: Bool
}

let sample = """
{
   "name": "First Name",
   "model": ["CAR1", "CAR2", "CAR3"],
   "image": "some.png",
   "like": false
}

""".data(using: .utf8)!
let brand = try JSONDecoder().decode(Brand.self, from: sample)
print(brand.name)
  • I have an error, you can look in answers I have add picture

Add a Comment

Mais ça ne fonctionne pas

Ceci ne donne aucune information!

Pouvez vous dire exactement:

  • comment avez vous défini Marque (struct)
  • ce que vous avez essayé (le code)
  • ce que vous obtenez
  • ce que vous vouliez

Note: quand vous postez sur le forum, choisissez un tag qui soit pertinent. Votre question ne semble pas se référer aux Search ads

  • Ma class Marque :

    class Marque {

        var nom: String     var modele: [String]     var modele2: String     var modele3: String     var image: String     var like: Bool  

        init(nom: String,modele: [String],modele2: String,modele3: String, image: String, like: Bool){

            self.nom = nom         self.modele = modele         self.modele2 = modele2         self.modele3 = modele3         self.image = image         self.like = like     }     convenience init() {         self.init(nom: "",modele: [""],modele2: "",modele3: "", image: "", like: false)     } }

    Ce que je veux faire :

    case 1:

                let cell = tableView.dequeueReusableCell(withIdentifier: "ModeleCell", for: indexPath) as! ModeleTableViewCell             cell.modeleLabel.text = marque.modele <-- a cette ligne j'ai une erreur : Cannot assign value of type '[String]' to type 'String'        

                return cell

    Comment résoudre le problème ?

  • J'ai ajouté des photos dans les réponses pour mieux comprendre tu pourrais regarder ?

Add a Comment

Ce que j'ai fait :

Ce qui ne fonctionne pas :

Comment résoudre le problème ?

J'ai réussi à afficher le tableau dans mon application :

modelLabel est de type UILabel! , faut t-il le changer ?

Encore un problème "LABEL" s'affiche au lieu de mon tableau

MON TABLEAU :

Je devrais utiliser quel tags pour ce post ?

cell.modeleLabel.text = marque.modele <-- a cette ligne j'ai une erreur : Cannot assign value of type '[String]' to type 'String' 

Le message donne l'explication:

  • cell.modeleLabel.text est de type String
  • marque.modele est de type Array de String ([String])

On ne peut pas assigner un Array à une var de type String.

Que veux tu obtenir dans le text? Tous les noms ? Si oui, il faudrait écrire:

var allModeles = ""
for model in marque.modele {     // model est un String
  if !allModeles.isEmpty {
     allModeles = ", " + allModeles     // On ajoute une virgule après le dernier nom
  }
  allModeles = allModeles + model
}
cell.modeleLabel.text = allModeles

Une façon plus concise et plus Swift:

let allModeles = arrayone.reduce("") { (text, model) in text == "" ? "\(model)" : "\(text),\(model)" }
cell.modeleLabel.text = allModeles

2 autres points:

  • pourquoi modele est il [String] et modele2, modele3 : String ?
  • Pourquoi avoir un modele "" dans modele ? Il suffirait d'avoir par exemple:
modele: ["RS3", "RS5", "RS6", "RS7", "R8"]

.

Je devrais utiliser quel tags pour ce post ?

Swift serait un bon tag.

Bonne journée.

  • Je te remercie de m'aider, j'ai essayé avec ton code mais ça ne fait pas ce que je souhaite. Je rajoute les photos juste en dessus

Add a Comment

LE RESULTAT :

TON CODE :

Ce que je souhaite c'est que dans la première cellule il y a "RS3" , ensuite dans la deuxième cellule "RS5", "RS6" dans la troisième cellule etc...