Passer des données avec un modal segue

Bonjour,


Dans mon application j'ai crée un bouton qui renvoie vers une vue avec un joli modal segue de transition "cover vertical". J'ai aussi ajouté un Navigation Controller à  ma seconde vue. Le problème est qu'à  cause de ce Navigation Controller, mon appli beuge dès que j'essaye de passer des données de la première à  la deuxième vue. Y'a-t-il une solution autre que d'enlever mon Navigation Controller ? ???


 


Merci d'avance


Réponses

  • Salut,


     


    Tu ne donnes pas assez de détails pour qu'on puisse t'aider. Mon appli "beuge" ne suffit pas. Il faut donner plus de détail sur l'erreur et le code comment tu fais.


  • AliGatorAliGator Membre, Modérateur
    avril 2014 modifié #3
    http://whathaveyoutried.com


    ça commence à  devenir une habitude TheFlow chez toi, et ça commence à  être un peu saoulant.


    Apprendre un minimum à  debuguer par soi même est un minimum, et apprendre à  d'écrire mieux ton problème si tu veux qu'on t'aide est le minimum pour ne pas paraà®tre irrespectueux envers les bénévoles du forum histoire de montrer que tu as cherché par toi même et où tu en es.
  • Quand je dis que mon appli beuge, je veux dire qu'elle se stoppe et que Xcode me detecte une appli dans le main.m, le truc basique qui m'énerve quoi.


    Par contre, dans la console je peux voir cela:



    2014-04-27 20:47:35.493 Stationaute[3198:60b] -[UINavigationController setLatitude:]: unrecognized selector sent to instance 0x10d4f6c70
    2014-04-27 20:47:35.496 Stationaute[3198:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UINavigationController setLatitude:]: unrecognized selector sent to instance 0x10d4f6c70'

    Pour info, "setLatitude" est la methode que j'utilise pour passer mes données en segue


  • AliGatorAliGator Membre, Modérateur
    avril 2014 modifié #5
    La réponse est dans la question (plus exactement dans le log)
  • Oui, j'ai compris mais je ne comprends pas pourquoi il cherche dans le Navigation Controller et pas dans la vue...


  • AliGatorAliGator Membre, Modérateur
    Parce que tu lui demandes.
  • Le " unrecognized selector sent to instance " est une erreur bien connue et multi-traitée...

    Commence par regardée pourquoi elle a lieu (en général), ensuite essaye de voir sur ton cas pourquoi est-ce qu'elle a lieu dans ton code, etc.


  • il faut peut-être ajouter une rubrique "je pense tout haut" dans le forum? Parfois on a besoin de rédiger une question pour commencer à  y penser vraiment... Je crois que cela permettrait à  une personne qui débute de répondre à  des questions venue de ceux qui ne veulent pas trop réfléchir (ou pas au moment où ils écrivent).


  • Bon, j'ai finis par trouver la solution. Pour info, il fallait remplacer ce code:



    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
    if ([segue.identifier isEqualToString:@showMap]) {
    [segue.destinationViewController setLatitude:pointLat];
    [segue.destinationViewController setLongitude:pointLon];
    [segue.destinationViewController setPointName:pointName];
    }
    }

    Par ce code:



    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
    if ([segue.identifier isEqualToString:@showMap]) {
    UINavigationController *navigationController = segue.destinationViewController;
    MapViewController *mapViewController =[[navigationController viewControllers]objectAtIndex:0];
    [mapViewController setLatitude:pointLat];
    [mapViewController setLongitude:pointLon];
    [mapViewController setPointName:pointName];
    }
    }
Connectez-vous ou Inscrivez-vous pour répondre.