Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Une application iPhone avec le modèle MVC

    18 octobre 2019 à 13:50:03

    En alternative tu peux toujours faire UIImage(named: String). Je t’avoue que je ne sais pas pourquoi il te le propose pas. parfois Xcode est un peu à la ramasse...
    • Partager sur Facebook
    • Partager sur Twitter
      18 octobre 2019 à 14:07:26

      Du coup je me suis penché dessus c'est dommage.
      • Partager sur Facebook
      • Partager sur Twitter
        30 novembre 2019 à 19:14:22

        Bonjour à tous :),

        Je rencontre un problème que d'autres ont rencontrés avant moi,

        le fameux message :

        Thread 1: Fatal error: Index out of range

        J'ai pourtant essayé les solutions que vous aviez proposé aux anciennes personnes rencontrant ce même problème, mais ça ne m'a pas aidé.

        J'ai pourtant suivi les instructions à la lettre, pouvez-vous me dire où est-ce que j'ai fait une boulette svp ? :-°

        À votre avis ça peut venir de quoi ?

        • Partager sur Facebook
        • Partager sur Twitter
          30 novembre 2019 à 20:40:06

          Dans ta méthode refresh tu fais get sur questionManager. Juste après tu postes une notification qui va appeler questionLoaded. Le problème, j’imagine, c’est que ton get est asynchrone. Donc quand tu appelles questionLoaded tes questions ne sont pas encore chargés.

          Conclusion : met le post dans le completionHandler du get

          IndexOutOfBounds signifie que tu essaies d’accéder à un élément du tableau qui n’existe pas.

          -
          Edité par Geda 30 novembre 2019 à 20:40:57

          • Partager sur Facebook
          • Partager sur Twitter
            3 décembre 2019 à 11:39:10

            Bonjour à tous,

            J'ai un petit soucis avec le cours que je trouve parfaitement expliqué et vraiment ludique

            une erreur de compilation me bloque

            J'ai eu beau chercher en long en large et en travers sur le net je n'ai rien trouvé de très clair concernant cette erreur.

            Je suis xCode 11.2.1

            Merci de m'indiquer la marche à suivre

            • Partager sur Facebook
            • Partager sur Twitter
              3 décembre 2019 à 13:23:09

              Faudrait voir les constructeurs de la classe Question. J’ai l’impression qu’il n’y en a pas qui prennent ces deux parametres

              • Partager sur Facebook
              • Partager sur Twitter
                3 décembre 2019 à 15:11:12

                Pourtant comme précisé dans le cours j'ai bien dans le fichier Question.swift

                class Question {
                    var title = ""
                    var isCorrect = false
                }


                Geda a écrit:

                Faudrait voir les constructeurs de la classe Question. J’ai l’impression qu’il n’y en a pas qui prennent ces deux parametres



                -
                Edité par NicolasKulpinski 3 décembre 2019 à 15:12:04

                • Partager sur Facebook
                • Partager sur Twitter
                  3 décembre 2019 à 19:44:41

                  Effectivement. Et si on se base sur le underscore rouge on peut comprendre que c’est le constructeur String qui n’existe pas. Pourtant ça me parle. T’as vérifié qu’il existait bien ? C’est l’auto complétion qui te la géneré ?

                  ÉDIT :

                  Effectivement quand je regarde la doc je ne vois pas ce constructeur :

                  https://developer.apple.com/documentation/swift/string

                  -
                  Edité par Geda 3 décembre 2019 à 19:48:06

                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 décembre 2019 à 17:54:43

                    Merci pour ces pistes mais le constructeur String existe bien puisqu'il provient de ce fichier créé par Ambroise.

                    QuestionManager.swift

                    Je n'ai rien modifié dans ce fichier mais je me demande si quelque chose n'a pas changé comme ça a été le cas dans le passé comme indiqué dans le post de 2017

                    Je n'ai pense pas avoir les compétences suffisantes pour régler ce problème.

                    Merci pour ton aide en tout cas

                    giantwow a écrit:

                    Salut !

                    En effet, le cours n'est pas encore mis a jour pour Swift 4 !

                    En attendant, tu peux remplacer la ligne d'initialisation de la variable options de la sorte :

                    let options: [NSAttributedString.DocumentReadingOptionKey: Any] = [
                        NSAttributedString.DocumentReadingOptionKey.documentType: NSAttributedString.DocumentType.html,
                        NSAttributedString.DocumentReadingOptionKey.characterEncoding: String.Encoding.utf8.rawValue
                    ]
                    

                    Voila !

                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 décembre 2019 à 19:14:33

                      Bon, j'ai fait le test. Je reproduis bien le problème. C'est effectivement que tu n'as pas de constructeur avec ces paramètres dans ta classe Question

                      Du coup utilise ça :

                      class Question {
                          var title: String
                          var isCorrect: Bool
                          
                          init(title: String, isCorrect: Bool) {
                              self.title = title
                              self.isCorrect = isCorrect
                          }
                          
                          convenience init() {
                              self.init(title: "", isCorrect: false)
                          }
                      }
                      
                      • Partager sur Facebook
                      • Partager sur Twitter
                        4 décembre 2019 à 20:11:27

                        Super

                        J’avais essayé l’initialisation mais sans aller jusqu’à convenience init()

                        Merci beaucoup

                        -
                        Edité par NicolasKulpinski 4 décembre 2019 à 20:11:46

                        • Partager sur Facebook
                        • Partager sur Twitter
                          31 janvier 2020 à 12:19:56

                          bonjour,

                          je suit vos cours assidûment dans un projet de reconversion et bravo pour votre travail!

                          je suis bloqué à l'exercice du chapitre 2 de la partie 2. je doit créer la fonction "answerCurrentQuestion". je n'est pas d'erreur dans Xcode et la fonction fonctionne parfaitement dans le Playground. pourtant, la sandbox me dit que mon code ne fonctionne pas. pourquoi? 

                          Bonne journée a vous.

                          class Game{
                              var score: Int = 0
                              var questions = [Question]()
                              var state: State = .ongoing
                              private var currentIndex: Int = 0
                              public var currentQuestion: Question{
                                  return questions[currentIndex]
                              }
                              
                              enum State{
                                  case ongoing, over
                              }
                              
                              func answerCurrentQuestion(with answer: Bool){
                                  if Question().isCorrect == answer{
                                      score += 1
                                  }
                              }
                          }

                          EDIT:

                          je pense qu'il y a une coquille dans le system de vérification car en passant la valeur par défaut de "isCorrect" a "true", la sandbox me dit que mon code est bon. est-ce un bug ou mon code est-il faux?

                          -
                          Edité par MickaelRuzel 31 janvier 2020 à 12:56:09

                          • Partager sur Facebook
                          • Partager sur Twitter
                            13 avril 2020 à 18:09:31

                            Bonjour,

                            J'ai un problème similaire à celui de LoupBina1. Quand je lance le simulateur, les icones n'apparaissent pas. L'erreur qui s'affiche est : "Could not load the "icon error" referenced form a nib". Pourtant les images sont bien dans l'asset catalog, la case Target est cochée et les connecteurs sont actifs. Voici la partie du code en question, dans la classe QuestionView:

                                private func setStyle(_ style: Style) {
                                    switch style {
                                    case .correct:
                                        icon.image = UIImage(named: "Icon Correct")
                                    case .incorrect:
                                        icon.image = UIImage(named: "Icon Error")}
                                        

                            Merci pour votre aide!!

                            LoupBina1 a écrit:

                            D'accord donc mes images sont bien dans ce dossier mais dans le cours, Ambroise marque bien le nom de l'image comme ça :

                            icon.image = Icon Error

                            et il y a le petit icône de l'image devant, sauf que chez moi ça me le suggère pas et du coup ça ne la trouve pas.




                            • Partager sur Facebook
                            • Partager sur Twitter
                              13 avril 2020 à 21:34:28

                              Camille Chanod : par simplicities utilise « imageLiteral » comme ça tu pourras sélectionner ton image directement ça seras plus simple. 

                              icine.image = imageLiteral

                              xcode t’afficheras une pop up et tu pourra sélectionner l’image voulue directement. Il arrive que Xcode est du mal avec l’auto-complétion et du coup une petite faute de frappe ou syntaxe et rien ne fonctionne.  

                              • Partager sur Facebook
                              • Partager sur Twitter
                                11 juillet 2020 à 19:11:48

                                Hello à tous et toutes !

                                Je rencontre un souci dans le chapitre "Sous-classez UIView" lorsque je passe en mode assistant je n'ai pas la possibilité de switcher vers mon fichier "QuestionView" je suis obligatoirement avec "ViewController.swift". 

                                Problème résolu à force de chercher un peu partout. Pour ceux à qui ça arriverai en fait il suffit de cliquer sur "Add editor on right" (icône en haut à droite) et de glisser déposer "QuestionView" dans l'onglet de gauche. 

                                Bisous la team :D

                                -
                                Edité par Hatsuumomo 11 juillet 2020 à 19:44:34

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  9 octobre 2020 à 15:18:43

                                  Hello
                                  Nouveau et toujours fan des cours d'Ambroise ; merci :-)
                                  Je rencontre un soucis dans l'exercice du chapitre "Structurez les questions" ; ma réponse n'est pas validée et, quand je teste sur le Playground, j'obtiens un message pour lequel les diverses réponses du web me laissent perplexe. Merci d'avance pour vos suggestions.
                                  => The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
                                  struct Adresse {
                                    var voie: String
                                    var ville: String
                                    var pays: String
                                    var codePostal: String
                                  
                                    func afficher() {
                                      return (voie + ", " + codePostal + " " + ville + ", "
                                                  + pays)
                                    }
                                  }
                                  var s = Adresse(voie: "2 avenue de Breteuil", ville: "Paris", pays: "France", codePostal: "75017")
                                  print(s.afficher())



                                  Je suis une vraie tête de linotte ; j'avais juste oublié le "-> String"
                                  Du coup, c'est OK.
                                  Le message d'erreur surprend mais comme le compilateur ne s'attend pas à un return, ça peut expliquer 

                                  -
                                  Edité par ClaudioLooping 9 octobre 2020 à 15:23:26

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    10 octobre 2020 à 11:10:34

                                    Salut,

                                    ce serait mieux d’utiliser la syntaxe :  “\(voie), \(codePostal) \(ville), \(pays)”

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      30 octobre 2020 à 9:45:43

                                      Hello
                                      Petit soucis dans la partie "Connectez le contrôleur et la vue"

                                      Comme, au moment du test, je ne vois pas le bouton et l'indicateur d'activité, je suis retourné voir dans XCode
                                      Je les vois bien dans l'arborescence et dans le code, notamment les connexions, mais ils ne s'affichent pas dans le storyboard

                                      Sauriez-vous comment les faire ré-apparaître ? J'utilise la toute dernière version d'Xcode

                                      Merci 

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        30 octobre 2020 à 11:20:47

                                        Salut, 

                                        j’ai pas du tout compris. 

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          31 octobre 2020 à 0:04:34

                                          Dans Xcode, quand je visualise ma vue, je ne vois plus ni le bouton, ni l'indicateur d'activité ; pourtant, on les voit dans l'arborescence
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            31 octobre 2020 à 8:48:25

                                            Je ne comprends pas "Screen?"
                                            Tu veux un printscreen?

                                            Merci 

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              31 octobre 2020 à 10:03:36

                                              Yes. Parce que c’est un peu flou. je voudrais voir à quoi ressemble l’écran
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                31 octobre 2020 à 15:29:55

                                                okay.  Si tu cliques sur le bouton ou si tu mets la souris dessus, je sais plus, il me semble que ça le fait ressortir sur le storyboard Non ?

                                                Niveau contrainte tu as mis quoi ?

                                                Si tu le supprimes et que tu le remets ? (Normalement ça sert à rien, j’ai jamais vu ce genre de bug donc c’est probablement pas un bug

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  31 octobre 2020 à 15:45:28

                                                  Le seul endroit où je puisse cliquer, c'est le nom du bouton dans l'arborescence. 
                                                  Je ne comprends pas la question sur les contraintes
                                                  Je n'ai rien fait d'autre qu'ajouter les IBActions ; c'est au moment du test que j'ai constaté que le bouton et l'indicateur avaient disparus ; j'ai d'abord pensé à une erreur de ishidden, mais non
                                                  Je pourrais effectivement essayer de le recréer
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    31 octobre 2020 à 16:10:29

                                                    Tu l’as peut être déplacé très loin hors de l’écran. 

                                                    Les contraintes c’est ce qui permet de placer ces éléments les uns par rapport aux autres pour avoir le même affichage sur tous les écrans. 
                                                    En général un element mal placé c’est du à un problème de contrainte. Si on en a pas encore parler dans le cours Tu devrais simplement supprimer le bouton et le recréer.  

                                                    EDIT : panel de droite. L’icône avec l’équerre. Tu peux également voir son x et y et les modifier si jamais tu es hors de l’écran. Met 0,0 il devrait revenir en haut à gauche.  

                                                    -
                                                    Edité par Geda 31 octobre 2020 à 16:11:32

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      31 octobre 2020 à 16:33:33

                                                      Je vais essayer ces manips un peu plus tard. Juste comment faire pour supprimer un élément que je ne vois pas ? A partir de l'arborescence ?
                                                      Merci du temps consacré, en tout cas
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      MOOC Une application iPhone avec le modèle MVC

                                                      × 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