WatchKit : Problèmes de Crashs.

Procuste34Procuste34 Membre
juin 2015 modifié dans API UIKit #1

Bonjour à  tous ,


 


je réalise en ce moment une Watch App, et il se trouve que je suis tombé contre un problème :


 


L'application ferait des calcules avec le nombre qu'on a mis avec le slider .


 


C'est basé sur du "PageBased"


 


Ma structure : 


 


Page 1 :


 


Slider + Label de Value 


 


Page 2 : ( donc une autre vue mais relié à  la même classe que la première )


 


Les Labels où apparait normalement le calcul 


 


Problème : 


 


Si je change la value de mon slider, bim l'application crash.


 


Je suppose que c'est du fait que ce soit sur une autre vue ?


 


J'ai testé en mettant mes labels de calcules sur Page 1 ( en dessous du slider ) ET de supprimer celui de Page 2 , la , niquel, les chiffres s'actualisent automatiquement . ( voir PHOTO 1 )


 


( Pour relier les vues en page based, j'ai tout simplement fait du ctrl-clic et "next page" ).


 


PHOTOS :


 


Page 1 avec labels de calculs , EN ayant supprimé Label de Page 2, tout roule niquel :


 


Réponses

  • FKDEVFKDEV Membre
    Il nous manque juste le log du crash.


  • Il nous manque juste le log du crash.




    Ok je le met dans le poste ;)



  • Il nous manque juste le log du crash.




    C'est bon , a la suite des photos ;)

  • FKDEVFKDEV Membre
    La réponse est dans le log du crash. vintprixlabel n'existe pas dans ton storyboard (ou dans ton InterfaceController).

    Cela arrive quand on renomme un IBOutlet après avoir fait le lien entre l'élément dans le storyboard et l'outlet dans le controller.

    La solution c'est de refaire le lien (new referenced outlet).


  • La réponse est dans le log du crash. vintprixlabel n'existe pas dans ton storyboard (ou dans ton InterfaceController).

    Cela arrive quand on renomme un IBOutlet après avoir fait le lien entre l'élément dans le storyboard et l'outlet dans le controller.

    La solution c'est de refaire le lien (new referenced outlet).




    Ok merci ;)

  • Ok, c'est bon, mais ça crahs toujours, le message du log , n'est pas le même ; voir photos en dessous ,


    le crash est le même .


     


  • StephSteph Membre

    Il semble que tu forces le déballage d'une optionnelle qui est à  nil. Comme as-tu déclaré ta variable ?


     


    En swift lorsque qu'on utilise des variables optionnelles, il est recommandé d'utiliser la syntaxe if - let

  • L'erreur survient sur dixprixlabel, alors que tu utilises dixprixlabelc plus haut dans ton code. C'est normal ?



  • L'erreur survient sur dixprixlabel, alors que tu utilises dixprixlabelc plus haut dans ton code. C'est normal ?




    Oui, dixprixlabel c'est pour le label qui donne le resultat de 10% de le Page 2 , et dixprixlabelc c'est pour le label qui donne le resultat de 10% de la Page 1

  • FKDEVFKDEV Membre
    juin 2015 modifié #11
    Même problème qu'avec le vingtprixlabel à  priori.


    Refais tout tes outlets et profites-en pour changer les noms.

    Par exemple :

    label10Title et label10Result.

    Au lieu de dixprixlabel et dixprixlabelc.

    EDIT: je viens de voir le post ci-dessous. Ok si ce sont des noms temporaires...


    Après on parlera de la méthode que tu utilises pour formatter les prix.


  • Il semble que tu forces le déballage d'une optionnelle qui est à  nil. Comme as-tu déclaré ta variable ?


     


    En swift lorsque qu'on utilise des variables optionnelles, il est recommandé d'utiliser la syntaxe if - let




    Quelle variable ? 


    dixprixlabel ?  @IBOutlet weak var dixprixlabel: WKInterfaceLabel! et je l'ai relié avec le label correspondant dans le .storyboard 

  • L'outlet n'est pas rétablie donc quand le déballage a lieu, il trouve une valeur nil.
Connectez-vous ou Inscrivez-vous pour répondre.