DatePicker un peu piqué ou faché avec CoreData ?

J'ai beau essayer de me convaincre que j'ai fait une erreur: rien a faire, mon DatePicker me renvoie toujours ce qu'il veut bien .

Avec un "predicate" du type: "dateDeDepart >= D1 && dateDeFin <= D2" , si je mets la même date à  D1 et D2, alors que je devrais avoir tous les resultats de CETTE date, je n'en ai AUCUN.

Entre 2 dates DIFFERENTES ca marche bien, sauf aux BORNES

Une recheche sur UNE SEULE date avec UN SEUL datePicker echoue régulièrement.

Je passe sur les autres bizarreries pour ne pas assommer le lecteur...

Probleme CoreData ou DatePicker ?
Mots clés:

Réponses

  • CéroceCéroce Membre, Modérateur

    J'ai beau essayer de me convaincre que j'ai fait une erreur: rien a faire, mon DatePicker me renvoie toujours ce qu'il veut bien .

    Alors j'en remets une couche: le bug est dans ton code ;-)

    Pour l'instant, tu ne sais pas où se situe le bug, si c'est au niveau du Date Picker (Vue) ou de Core Data (Modèle). Il faut que tu places des points d'arrêt (breakpoints) entre les deux et que tu inspectes les variables pour savoir.
  • Question tout bête : dateDeDepart & dateDeFin sont des NSDate ? Serait-ce un problèmes d'heures ? Potentiellement de TimeZone ?


  • Merci Ceroce, savoir que c'est de ma faute est plutôt rassurant.

    Larme, oui, ce sont des NSdate. Bonne idée, je vais supprimer l'heure pour voir. Le code des DatePickers ne me semble pas en cause, car sa simplicité le met a ma portée...

    Reste la responsabilité du Model. C'est aussi mon sentiment, mais je ne vois pas ce que je peux changer: un type Date est un type Date !

    A moins de faire une "lightmigration" pour repartir sur un champ date tout neuf. Ou de faire un "delete" sur la base .A ce propos, j'ai l'impression que la migration est plus simple sous le dernier Xcode ?

    Je vais donc commencer par inspecter avec des breakpoints. Quand j'aurai bu mon café...
  • Je vais expliciter ce que je redoute.


    Fais un NSLog du predicate.


    Si tu ne tiens compte que des jours, je ne suis pas sûr de ce que renvoie le UIDatePicker pour la date choisie concernant les heures (je ne suis pas sûr que ça soit minuit, mais peut-être l'heure courante. Du coup, si tu cherches à  avoir tous les événements de la journée, je ne suis pas sûr que cela fonctionne.


     


    Fais un double fetch: L'un normalement, l'autre avec un predicate en enlevant un jour au début, et en rajoutant un à  la fin (histoire de ne pas te sortir toute ta base non plus), et regarde si tu devrais trouver en théorie un élément


  • Je precise les "bizarreies". Bizarrerie n° 1: Quand j'ouvre l'appli, et que je fais une recherche avec le predicate sur UNE SEULE date, CA MARCHE. Puis échec lors de toutes les recherches suivantes.
Connectez-vous ou Inscrivez-vous pour répondre.