Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Découvrez le langage Swift / Vos questions

    28 novembre 2015 à 16:11:36

    bonjour et merci pour ce tuto il est cool !

    je suis en train de faire le dernier T.P et j'ai une question

     il est demander: "Vous définirez de plus une méthode ajouterEtudiant(etudiant: Etudiant) qui ajoutera un étudiant dans votre tableau"

    cela signifie que l'on doit ajouter ttes les infos de l'etudiant (nom, prenom, age,bool...) dans le tableau ou juste le nom et prenom ? car cela change tout puisque les types des données sont differents 

    merci beaucoup

    • Partager sur Facebook
    • Partager sur Twitter

    #RTFM #AskGoogle and Have a nice code Day

      29 novembre 2015 à 22:01:01

      Hello !

      Regarde bien le type du paramètre passé, tu devrais trouver la réponse toi même à ta question. :)

      • Partager sur Facebook
      • Partager sur Twitter
        30 novembre 2015 à 1:04:06

        Juste un mot Spader pour te dire mille mercis pour ce cours.

        Il est vraiment fantastique et permet de bien se plonger dans le swift.

        Bon, j'ai encore bien mal au crâne car ça m'est complètement nouveau.

        Mais j'ai hâte de découvrir la suite et particulièrement comme créer des app iOS avec swift :)

        Merci encore tout plein et bravo pour le gros boulot. C'est vraiment top !

        • Partager sur Facebook
        • Partager sur Twitter
          27 février 2016 à 22:09:29

          Hello !

          Dommage quel l'on soit obliger de faire les activités sur xcode car comme certains doivent le savoir swift est devenu open source et n'ayant pas la chance d'avoir un mac (le dernier mac que j'ai touché était un Quadra...) donc pour l'instant je peux faire certaines partie dans atom (atom.io) et pour la suite j'ai trouvé un essai gratuit de 24H pour un vps mac.

          Sinon je trouve le langage swift assez simple à comprendre malgré que je trouve que ça ressemble à un mélange de plusieurs autres langages.

          • Partager sur Facebook
          • Partager sur Twitter
          Try harder !!!
            28 février 2016 à 10:51:50

            Bonjour,

            Il y a une erreur imcompréhensible pour cette partie :

            init(nom: String, prenom: String, age: Int, bourse: Bool, annee: Int) {
                self.bourse = bourse
                self.annee = annee
                if self.bourse == true {boursier = "Oui"} else {boursier = "Non"}
                super.init(nom: String, prenom: String, age: Int)
              }

            Ca me dit : Error : Missing argument for parameter 'prenom' in call super.init(...

            Pourtant je ne vois pas ce qu'il pourrait manquer comme argument...

            • Partager sur Facebook
            • Partager sur Twitter
            Try harder !!!
              29 février 2016 à 23:24:36

              Personne ?

              Plus personne ne fait ce MOOC ?

              • Partager sur Facebook
              • Partager sur Twitter
              Try harder !!!
                3 mars 2016 à 12:35:29

                Hello !

                Missing argument veut dire qu'il te manque des arguments dans tes paramètres. Est-tu vraiment sûr d'avoir passé des paramètres ? Relis le cours et vois comment marche super.init(...).

                Rudy.

                • Partager sur Facebook
                • Partager sur Twitter
                  3 mars 2016 à 14:46:28

                  Spader a écrit:

                  Hello !

                  Missing argument veut dire qu'il te manque des arguments dans tes paramètres. Est-tu vraiment sûr d'avoir passé des paramètres ? Relis le cours et vois comment marche super.init(...).

                  Rudy.


                  Justement, je ne vois pas ce que j'aurai pu oublier car j'ai mis tous les paramètres, à moins que l'erreur vienne du fait que je n'utilise pas xcode...
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Try harder !!!
                    3 mars 2016 à 18:40:56

                    Lis tu vraiment le code ?

                    Je cite juste un exemple de code qui provient directement de mon cours. Je te laisse trouver le/les erreurs par comparaison. Après une relecture du cours serait aussi bien pour comprendre ces erreurs. :)

                    class Acteur : Personne {
                        var filmsJoues: [String]
                        
                        init(nom: String, prenom: String, sexe: String, age: Int, adresse: String, filmsJoues: [String]) {
                            self.filmsJoues = filmsJoues
                            super.init(nom: nom, prenom: prenom, sexe: sexe, age: age, adresse: adresse)
                        }
                    }



                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 mars 2016 à 19:20:14

                      J'ai comparé 25 fois les 2 codes et je ne vois pas où je pourrais avoir fais une erreur :

                      class Etudiant: Personne {
                        var bourse: Bool
                        var annee: Int
                        var boursier: String
                      
                        init(nom: String, prenom: String, age: Int, bourse: Bool, annee: Int) {
                          self.bourse = bourse
                          self.annee = annee
                          if self.bourse == true {boursier = "Oui"} else {boursier = "Non"}
                          super.init(nom: String, prenom: String, age: Int)
                        }
                      ...



                      Dans le super.init j'ai mis les 3 variables de l'init de la classe Personne et dans mon init j'ai mis toutes les variables pour la classe Etudiant(qui est initialisé en premier bien sûr).

                      Je ne demande qu'a comprendre mon erreur mais pour l'instant je n'en vois aucune...

                      EDIT : je crois que j'ai besoin de lunettes, je viens de voir la différence...

                      -
                      Edité par condor666 4 mars 2016 à 8:07:22

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Try harder !!!
                        14 mars 2016 à 16:09:50

                        Hello ! 

                        merci pour ton temps à faire ce tutorial ! Je suis bloquée sur l'activité 2, et plus précisément : 

                        Une classe Promotion : elle aura pour seul attribut une liste d’étudiants. Vous implémenterez un constructeur sans paramètres qui initialisera votre tableau à vide. Vous définirez de plus une méthode ajouterEtudiant(etudiant: Etudiant) qui ajoutera un étudiant dans votre tableau

                        Je n'arrive pas à definir la méthode ajouterEtudiant, j'ai un erreur comme ça : 

                        cannot convert value of type "string" to expected argument type "int".

                        Pourriez-vous m'aider avec cela ? ou me dire où cela ce trouve dans le cours.

                        Merci merci ! 

                        • Partager sur Facebook
                        • Partager sur Twitter
                          15 mars 2016 à 13:06:22

                          Bonjour Isabel,

                          Dans la méthode ajouterEtudiant, ni Int ni String ne sont nécessaires. La réponse devrait être dans le cours sur les tableaux (https://openclassrooms.com/courses/decouvrez-le-langage-swift/les-tableaux-et-les-dictionnaires#/id/r-2727856) en s’intéressant à la façon de déclarer un tableau et de le remplir. Le type peut être un objet plus complexe qu’un String.

                          On a trop peu d’information pour expliquer le message «  cannot convert value of type "string" to expected argument type "int » pour essayer de le découvrir dans Xcode il existe une aide : un Alt-Clic sur une variable ou une fonction ouvre une fenêtre d’aide (en anglais, bien sûr).

                          Il faut chercher quelque chose de simple. Bon courrage


                          • Partager sur Facebook
                          • Partager sur Twitter
                          franier
                            20 mars 2016 à 17:59:40

                            Bonjour, 

                            Lorsque j'utilise  print(self.liste) dans affichePromotion après avec récupéré le dictionnaire comme ceci : liste.append(etudiant) le retour de Xcode est le suivant : [TPrendu.Etudiant, TPrendu.Etudiant, TPrendu.Etudiant] 

                            Je suis bloqué depuis longtemps à tourner autour du pot, quelqu'un aurait-il des pistes ?

                             J'ai pourtant tenté de définir 

                            var liste: [[String:Any]] ou var liste: [Etudiant] ou var liste: [[Etudiant]]

                            sans succès

                            Merci d'avance ! 


                            Edit: j'avais d'abord posté ce message plus complet ici

                            -
                            Edité par MaximeLat 21 mars 2016 à 10:07:07

                            • Partager sur Facebook
                            • Partager sur Twitter
                              6 avril 2016 à 22:59:31

                              bonjour tout le monde,

                               une question à 15.24 € :  peut on faire tourner swift sur une machine virtuelle ?

                              cdt

                              • Partager sur Facebook
                              • Partager sur Twitter
                                6 avril 2016 à 23:20:50

                                Bonjour à tous!

                                Tout d'abord merci pour ce cours c'est top!

                                J'aie un soucis pour réaliser le dernier TP... Dans la classe Promotion je ne m'en sort pas avec la méthode permettant de rechercher un étudiant dans la liste.

                                Voici mon code :

                                class Promotion : Etudiant {
                                    var listedEtudiant: [Etudiant]
                                    var i: Int
                                    
                                    init(){
                                        self.listedEtudiant = [Etudiant]()
                                    }
                                    
                                    func ajouterEtudiant(etudiant: Etudiant){
                                        self.listedEtudiant.appendContentsOf([etudiant])
                                    }
                                    
                                    func rechercherEtudiant(nom: String, prenom: String) ->Bool{
                                        
                                        var etudiantTrouve: Bool = false
                                        
                                        for rechercherEtudiant in listedEtudiant {
                                            if  listedEtudiant.nom == rechercherEtudiant.nom && listedEtudiant.prenom == rechercherEtudiant.prenom{
                                                etudiantTrouve = true
                                            }
                                        }
                                    }
                                    
                                    func affichePromotion(){
                                        
                                        for var i = 0; i < self.listedEtudiant.count; i=i+1{
                                            print(Etudiant.affiche(self.listedEtudiant[i]))
                                        }
                                    }
                                
                                }



                                Merci Pour votre aide!

                                -
                                Edité par doctiti2002 6 avril 2016 à 23:22:15

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  6 avril 2016 à 23:22:40

                                  par tradition on ne poste pas de code dans le forum ... bref ceci dit, envoie un mp à l'auteur

                                  cdt

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    19 avril 2016 à 22:47:29

                                    bon je me répond à moi même :

                                    oui par VM cela marche (tu n'auras pas besoin de te payer un MAC pour suivre ce cours) ou sinon tu as l'option Docker, mais il faut être balaise en soft ... ah ? tu l'es

                                    cdt à tous, on se revera dans une autre dimension :p

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      8 juin 2016 à 23:04:47

                                      Hello Spader si tu passes encore par là !

                                      Tout d'abord un grand merci pour ce cours extrêmement bien ficelé qui m'a vraiment fait aimer le langage Swift ! Les cours étaient clairs, les TPs intéressants et les activités également :)

                                      Mais en espérant faire progresser le cours je met quand même ici les quelques critiques que je pourrai apporter.

                                      Je me suis un peu fait éclater sur le quiz de la deuxième partie avec un 6/10, mais bon la moyenne est à beaucoup au-dessus à 6.5. En soit pas de problème, la programmation orientée objet n'est pas simple et je ne la maitrisais pas, je suis donc tombé dans les pièges du quiz qui n'était quand même pas très facile.

                                      Ce qui me dérange c'est ensuite la déconcertante facilité de l'activité notée ! J'ai corrigé 6 devoirs, soit je recevais un fichier vide donc 0, soit le programme était très bien et au minimum ça faisait 8 selon la lisibilité. Je trouve donc ça un peu dommage que les niveaux demandés soient aussi hétérogènes. De plus je pense qu'il serait intéressant qu'on puisse noter différemment une bonne fonction efficace d'une fonction qui marche. Je suis tombé sur des méthodes horribles avec une efficacité vraiment moyenne et d'autres bien mieux mais selon le barème proposé (1: méthode présente mais ne marche pas, 2: méthode marche) elles valaient la même chose ! Je me suis donc permis, lorsque c'était vraiment moche d'enlever un point sur la lisibilité du code, je ne pouvais moralement pas mettre 10/10 à un code moche sans pouvoir mettre plus à un beau code.

                                      Voilà juste une petite suggestion ! Sinon, le TP du jeu de combat était très sympa, abordable mais avec un peu de challenge, en pour revanche les améliorations possibles, tu nous as gâté avec le mode multijoueur ! Je me suis vraiment amusé à le faire mais c'était un défi :p C'est aussi un peu pour ça que j'ai été déçu par l'activité finale du cours ...

                                      Merci encore et à bientôt j'espère pour un cours sur la programmation iOS et OS X :D

                                      Cordialement.

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      It is possible to fly without motor, but not without kowledge and skill.
                                        13 juin 2016 à 13:47:05

                                        Hello !

                                        Merci pour ces retours, ça fait toujours plaisir à lire. :)

                                        Quant à tes critiques je note. Il faut savoir que Swift 3 sortira en fin d'année et là je referais une mise à jour complète du cours avec tout plein de remarques que j'ai pu noter.

                                        Le dernier quizz parait dur, mais faire un quizz que tout le monde aura 10 pour cause de simplicité ce n'est pas la peine à mon humble avis. De plus, les activités ne sont pas dur en soit, donc si on peut corser d'un côté histoire de ne pas "donner" une certification.

                                        Voilà en soit. En ce moment, je m'amuse sur tout plein d'éléments pour programmer des app iOS. C'est fort sympa surtout les nouveautés pour iOS 9.

                                        Bon courage à tout le monde ! Et n'hésitez pas pour les critiques. ;)

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          15 juin 2016 à 12:15:24

                                          Bonjour,

                                          je suis au début du cours de Swift que je trouve très intéressant ;)

                                          J'ai juste un tout petit problème au niveau du chapitre sur les fonctions:

                                          Il est proposé d'écrire Hello World! avec une nested function. Je crois que j'ai bien compris la syntaxe, du coup je voulais voir si c'était possible de le faire sans la nested function, en introduisant directement les deux paramètres dans la fonction de départ.

                                          Du coup j'ai fait ça:

                                          func test(param1: String, param2: String) -> String {
                                              return "\(param1) \(param2)"
                                          }
                                          print(test("Hello, ")("World !"))

                                          et ça me retourne un message d'erreur à la dernière ligne : "missing argument for parameter 'param2' in call"

                                          C'est sûrement une faute toute bête mais je ne vois pas laquelle :)

                                          Merci d'avance  

                                          -
                                          Edité par Wattiam 15 juin 2016 à 12:28:27

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            15 juin 2016 à 17:34:47

                                            Hello !

                                            C'est dans l'affichage de ta fonction que tu as u problème, après ton "test" tu ouvres un parenthèses que tu refermes après ton premier argument, la partie ("World") n'est pas comprise ici !

                                            La ligne de commande à utiliser est :

                                            print(test(param1:"Hello, ", param2:"World !"))


                                            Ça devrait mieux marcher :)

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            It is possible to fly without motor, but not without kowledge and skill.
                                              15 juin 2016 à 18:53:06

                                              Merci pour ton aide Comito999,

                                              C'est presque en ça en fait, j'ai revu le cours et il faut rajouter le nom du paramètres à partir du deuxième paramètre :)

                                              ce qui donne:

                                              print(test("Hello, ", param2: "World !")

                                              Merci encore !

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                17 juin 2016 à 3:04:32

                                                Derien ! En effet il est nécessaire de le faire à partir du deuxième, mais tu n'as pas grand chose à perdre à indiquer aussi le premier sur une fonction à plusieurs paramètres, ça peut même clarifier ton code ! Mais là il en va du goût de chacun ;)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                It is possible to fly without motor, but not without kowledge and skill.
                                                  18 juin 2016 à 22:53:11

                                                  Comito999 a écrit:

                                                  Derien ! En effet il est nécessaire de le faire à partir du deuxième, mais tu n'as pas grand chose à perdre à indiquer aussi le premier sur une fonction à plusieurs paramètres, ça peut même clarifier ton code ! Mais là il en va du goût de chacun ;)

                                                  Pourtant moi ça ne marche pas si je précise le premier aussi :/ mais c'est un détails :)



                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    19 juin 2016 à 20:04:19

                                                    Tu as raison ! Je n'avais pas fait gaffe à ça pendant le cours ...

                                                    C'est d'ailleurs assez étrange comme choix pour le langage Swift, je m'imaginais même que le fait de labeller les arguments permettaient de les rentrer dans l'ordre qu'on voulait ! Mais c'est raté ...

                                                    Merci !

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    It is possible to fly without motor, but not without kowledge and skill.
                                                      29 juillet 2016 à 18:34:45

                                                      bonjour,

                                                      je suis entrain de faire l'activité tp calculette améliorée mais je bloque au niveau d'une boucle repeat wile

                                                      repeat {

                                                      // mon code

                                                      } while ( rep ==1)

                                                      cela marche pas et je comprend pas pourquoi

                                                      merci

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        2 août 2016 à 22:06:15

                                                        Bonjour,

                                                        Qu'est-ce qui ne marche pas ? Et que se passe t-il ?

                                                        Spader.

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          3 août 2016 à 15:47:38

                                                          bonjour

                                                          on m'a expliqué que il fallait plutôt utiliser  do { } while pour  les version plus récentes de Xcode, et ça marche !

                                                          merci

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            3 août 2016 à 16:16:44

                                                            Coucou 

                                                            Pour moi le Do...While fonctionne et non le Repeat...While.

                                                            Et comment fait on une fois arrivé a la fin du code pour faire une boucle, genre 1 pour une autre partie ou 2 pour dire j'arrête là.....

                                                            Merci de m'éclaircir 

                                                            -
                                                            Edité par Hemingway 3 août 2016 à 16:34:56

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            Chaque chose en son temps
                                                              5 août 2016 à 12:32:23

                                                              Hello Laurianepierre,

                                                              C'est étonnant qu'on t'ait expliqué ça, à moins que je me plante à partir de Swift 2 le do est utilisé pour les try-catch (pas nécessaire de savoir ce que c'est) et c'est pour ça qu'on est passé au repeat ... while. D'ailleurs je pensais qu'à partir de swift 3 on ne pouvait même plus utiliser le do sans avoir une erreur :p

                                                              Par contre si tu veux avoir plus de réponse détaille mieux ton problème, j'ai été incapable de t'aider en voyant ta publication, "ça ne marche pas" ne nous avance pas beaucoup. Est-ce que tu as une erreur, ou est-ce que simplement le code passe cette partie ?

                                                              Et Hemingway si je comprends bien ta question, il faut que tu utilises la fonction input donnée au début de chaque TP et que tu l'intègres dans une boucle avec un test pour vérifier qu'on rentre bien 1 ou 2 et pas n'importe quoi, puis tu bases la condition de ta boucle sur cette entrée ! Enjoy ;)

                                                              Amic',

                                                              Côme.

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter
                                                              It is possible to fly without motor, but not without kowledge and skill.

                                                              MOOC Découvrez le langage Swift / Vos questions

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown